zoukankan      html  css  js  c++  java
  • linux top 命令---VIRT,RES,SHR,虚拟内存和物理内存(

    VIRT

    1、进程需要的虚拟内存大小,包括进程使用的库、代码、数据,以及mallocnew分配的堆空间和分配的栈空间等;

    2、假如进程新申请10MB的内存,但实际只使用了1MB,那么它会增长10MB,而不是实际的1MB使用量。

    3VIRT = SWAP + RES

    RES

    1、进程当前使用的内存大小,包括使用中的mallocnew分配的堆空间和分配的栈空间,但不包括swap out量;

    2、包含其他进程的共享;

    3、如果申请10MB的内存,实际使用1MB,它只增长1MB,与VIRT相反;

    4、关于库占用内存的情况,它只统计加载的库文件所占内存大小。

    5RES = CODE + DATA

    SHR

    1、除了自身进程的共享内存,也包括其他进程的共享内存;

    2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小;

    3、计算某个进程所占的物理内存大小公式:RES – SHR

    4swap out后,它将会降下来。

    示例

    #include <iostream>

     

    int main()

    {

        char * p = new char [1024*1024*512];

        getchar();

        return 0;

    }

    top:

    PID USER PR  NI  VIRT RES SHR S %CPU %MEM TIME+ COMMAND

    401 hhhhh 17   0   523m 916 792  S  0.0  0.0   0:00.00 ./main

    原文:

    http://blog.csdn.net/huyiyang2010/article/details/7815491

  • 相关阅读:
    java lang(Class)
    java.lang(StringBuffer)
    java.lang(String)
    java.lang包【Object类】
    IIS发布错误
    ASP.NET MVC之视图生成URL
    JQuery性能优化
    ERP联系记录管理(十七)
    C# virtual和abstract的
    ERP联系人查询和修改(十六)
  • 原文地址:https://www.cnblogs.com/catkins/p/5270397.html
Copyright © 2011-2022 走看看