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.

java virt res_top命令里内存参数 VIRT, RES 和 SHR 分别是什么意思相关推荐

  1. linux top VIRT RES SHR SWAP DATA内存参数详解

    Linux top VIRT RES SHR SWAP DATA内存参数详解 其实很早之前就想开博客,写一写码农几年自己积攒下来的知识与见解.看过很多文章有过很多感触,有些收获很值得梳理一下认真思考反 ...

  2. linux系统top命令:virt,res,shr详解

    2019独角兽企业重金招聘Python工程师标准>>> VIRT:virtual memory usage 虚拟内存 1.进程"需要的"虚拟内存大小,包括进程使用 ...

  3. java jvm 内存参数_深入详解JVM内存模型与JVM参数详细配置

    对于大多数应用来说,Java 堆(Java Heap)是Java 虚拟机所管理的内存中最大的一块.Java 堆是被所有线程共享的一块内存区域,在虚拟机启动时创建. JVM内存结构 由上图可以清楚的看到 ...

  4. Java 命令行运行参数大全

    Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOME"bin"java –option 来启动,-option为虚拟 ...

  5. java 启动内存参数_请问该如何设置Java虚拟机JVM启动内存参数?

    jps(JVM Process Status Tool):JVM机进程状况工具 用来查看基于HotSpot JVM里面所有进程的具体状态, 包括进程ID,进程启动的路径等等.与unix上的ps类似,用 ...

  6. Java架构学习(十二)java内存结构新生代老年代JVM参数调优堆内存参数配置解决堆栈溢出

    JVM参数调优与垃圾回收机制 一.java内存结构 Java内存模型:是多线程里面的,jmm与线程可见性有关 Java内存结构:是JVM虚拟机存储空间. Java内存结构图 Java内存机构分为:方法 ...

  7. 如何在Java中解析命令行参数?

    在Java中解析命令行参数的好方法是什么? #1楼 我不建议使用Apache Common CLI库,因为它是非线程安全的. 它使用带有静态变量和方法的有状态类来进行内部工作(例如OptionBuil ...

  8. java 输入 方程,用java 编写一程序,求解一元二次方程:aX2+bX+c=0.参数a、b及c从命令行做参数输入 java...

    题目: 用java 编写一程序,求解一元二次方程:aX2+bX+c=0.参数a.b及c从命令行做参数输入 java 答案参考: 以下程序在jdk5.0测试通过 import java.util.Sca ...

  9. Java方法01 方法(函数)定义、调用、值传递、重载、命令行传递参数

    Java 方法的定义.调用.值传递.重载.命令行传递参数 1. 什么是方法? 2. 方法的定义和调用 3. 值传递和引用传递 4. 方法的重载 5. 命令行传递参数 6. 可变参数(输入参数的数量不确 ...

  10. java中的命令行参数_Java中的命令行参数

    java中的命令行参数 Command-line arguments in Java are used to pass arguments to the main program. If you lo ...

最新文章

  1. 利用高带宽无线代替电缆应用于脑机接口信号传输
  2. [zz]用U盘装win7/XP系统的操作[图解]
  3. (原)各种输入框美化
  4. ffmpeg使用x264编码的配置+ ffmpeg与 x264编码器参数完整对照表
  5. maven 国内私服
  6. 拉丁超立方抽样matlab代码_想要数据分析更快?超良心的笔记本/台式电脑配置推荐!...
  7. 公开课精华 | 无人驾驶中感知的挑战与尝试
  8. 百度BAE JAVA环境项目部署和调试
  9. 高科技加持,升哲科技助力打造首都智慧社区
  10. 更改多个版本java_window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法...
  11. 《电子信息系统机房设计规范》中涉及到的节能问题
  12. 高数笔记(十四):多元复合函数的求导法则,隐函数的偏导数,多元微分在几何上的应用
  13. 左斜杠和右斜杠的区别
  14. macOS wifi 密码 查看
  15. Python之Sqlitespy连接并把Excel内容写到数据库的表中
  16. 4k显示器用html好还是dp,4k显示器用hdmi还是dp
  17. 终于搞定了stackoverflow的富文本编辑器pagedown
  18. android Retrofit下载图片
  19. 深入理解最强桌面地图控件GMAP.NET --- 街景地图(StreetView)
  20. Oracle索引梳理系列(十)- 直方图使用技巧及analyze table操作对直方图统计的影响(谨慎使用)

热门文章

  1. XCOM串口调试软件的安装与使用(附串口及驱动资源包)
  2. Mac与远程服务器数据交互软件Cyberduck
  3. 按键拨号声音 DTMF MATLAB程序样例
  4. crmeb v4.5.0版本 二次开发 新增加分机号功能 代码披露
  5. 自动白平衡技术(AWB)
  6. 【shiro基础】springboot + shiro整合thymeleaf
  7. 记录一下iter()的用法
  8. cv2颜色空间(2)——交互式的颜色检测
  9. 16进制颜色代码对照表
  10. Directx11学习笔记【十】 画一个简单的三角形