top命令里内存参数 VIRT, RES 和 SHR 分别是什么意思

top指令输出的VIRT, RES 和SHR有什么区别

VIRT 意味着进程虚拟空间的大小, 是真实使用的内存,加上映射进程自己使用的内存(如, X server使用显卡内存), 加上映射磁盘文件使用的内存(主要是加载共享程序库文件), 加上与其他进程共享的内存. VIRT代表进程当前时刻有多少内存可以访问.

RES 意味驻留内存大小, 是当前进程真正占用物理内存的精确反映. (直接与%MEM列相对应.) RES始终要比VIRT小, 因为多数程序依赖C库文件.

SHR 表示VIRT里有多少其实是共享部分(库文件使用的内存). 关系到库文件里, 并不是整个的库文件会驻留. 如, 如果程序仅用到了库文件里的少数函数, 整个库文件会映射并被计算到VIRT和SHR里, 但只有库文件包含用到的函数那部分真正加载到内存并被计算到RES里.

The difference among VIRT, RES, and SHR in top output

VIRT stands for the virtual size of a process, which is the sum of memory it is actually using, memory it has mapped into itself (for instance the video card’s RAM for the X server), files on disk that have been mapped into it (most notably shared libraries), and memory shared with other processes. VIRT represents how much memory the program is able to access at the present moment.

RES stands for the resident size, which is an accurate representation of how much actual physical memory a process is consuming. (This also corresponds directly to the %MEM column.) This will virtually always be less than the VIRT size, since most programs depend on the C library.

SHR indicates how much of the VIRT size is actually sharable (memory or libraries). In the case of libraries, it does not necessarily mean that the entire library is resident. For example, if a program only uses a few functions in a library, the whole library is mapped and will be counted in VIRT and SHR, but only the parts of the library file containing the functions being used will actually be loaded in and be counted under RES.

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: VIRT: 表示进程使用的虚拟内存大小,包括共享库占用的内存RES: 表示进程使用的物理内存大小。 SHR: 表示进程与其他进程共享的内存大小。 %CPU: 表示进程使用的 CPU 时间的百分比。 ### 回答2: 在Linux下,top命令能够实时显示系统的进程和资源使用情况。下面是对top命令下的VIRTRESSHR、S和%CPU的含义解释: 1. VIRT:表示进程所使用的虚拟内存大小。虚拟内存是计算机在硬盘上模拟出来的一块内存空间,用于存储进程的代码、数据和堆栈等。VIRT的数值往往比实际物理内存大小要大,因为它包含了共享库、映射文件和堆栈等。 2. RES:表示进程实际使用的物理内存大小。物理内存是计算机实际可用的内存空间,它用于存储进程当前运行所需要的数据和指令。RES的数值反映了进程实际占用的物理内存大小。 3. SHR:表示进程所使用的共享内存大小。共享内存是一种特殊的内存区域,它可以同时被多个进程访问,用于减少内存使用,提高系统效率。SHR的数值可以反映出进程共享内存的大小。 4. S:表示进程的状态。常见的状态有R(运行)、S(睡眠)、D(不可中断的睡眠)、Z(僵死)等。S列可以用来查看进程当前的状态信息。 5. %CPU:表示进程当前的CPU使用率。它是指进程占用CPU时间片的百分比,数值越高表示进程使用的CPU资源越多。 通过查看这些指标,可以帮助我们更好地了解系统的进程和资源使用情况,并且有助于进行系统性能分析和优化。 ### 回答3: 在Linux下,top命令显示了当前进程的一些重要信息。下面分别解释一下其中的VIRTRESSHR、S和%CPU的含义: 1. VIRTVirtual Memory):虚拟内存VIRT代表进程所占用的虚拟内存空间的大小。它包括程序、库文件、堆空间和栈空间等。但是,并非所有的虚拟内存都被进程实际使用,因为其中的一部分可能是共享的或者是由动态链接库所占用的。 2. RESResident Set Size):驻留内存RES代表进程实际使用的物理内存大小。它表示进程当前实际占用的物理内存空间,包括进程使用的堆内存、栈内存和共享库等。RES是通过读写页表来计算的。 3. SHR(Shared Memory):共享内存SHR代表进程所使用的共享内存大小。共享内存是指多个进程可以同时访问的内存空间。多个进程可以共享某些相同的库文件、数据区域等。SHRVIRT中共享部分的子集,因此它是VIRT减去RES的结果。共享内存对于减少内存的占用是非常有帮助的。 4. S(Status):进程状态。S代表进程的当前状态,例如运行(R)、等待(S)、停止(T)或僵死(Z)等。进程状态可以帮助我们了解进程的执行状态,以及进程是否正常运行或出现异常。 5. %CPU(CPU Usage):CPU使用率。%CPU代表进程的CPU利用率。它是指进程在一段时间内使用CPU的时间片比例。它可以帮助我们判断哪些进程占用了大量的CPU资源,以便优化系统的性能。 总结起来,VIRT表示进程的虚拟内存大小,RES表示进程的物理内存大小,SHR表示进程的共享内存大小,S表示进程的状态,%CPU表示进程的CPU利用率。这些信息能够帮助我们了解进程的内存占用和运行状态,以便进行性能分析和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值