zoukankan      html  css  js  c++  java
  • Linux命令行工具之free命令

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11524691.html

    使用 free 查看整个系统的内存使用情况

    Note:不同版本的free输出可能会有所不同

    • 第一列,total 是总内存大小;
    • 第二列,used 是已使用内存的大小,包含了共享内存;
    • 第三列,free 是未使用内存的大小;
    • 第四列,shared 是共享内存的大小;
    • 第五列,buffers是缓冲区的大小
    • 第六列,cached是缓存的大小

    使用 top 查看进程的内存使用情况

    top 输出界面的顶端,也显示了系统整体的内存使用情况,这些数据跟 free 类似。接着看下面的内容,跟内存相关的几列数据,比如 VIRT、RES、SHR 以及 %MEM 等。
    这些数据,包含了进程最重要的几个内存使用情况。

    • VIRT 是进程虚拟内存的大小,只要是进程申请过的内存,即便还没有真正分配物理内存,也会计算在内。
    • RES 是常驻内存的大小,也就是进程实际使用的物理内存大小,但不包括 swap 和共享内存。
    • SHR 是共享内存的大小,比如与其他进程共同使用的共享内存、加载的动态链接库以及程序的代码段等。
    • %MEM 是进程使用物理内存占系统总内存的百分比。

    除了要认识这些基本信息,在查看 top 输出时,还要注意两点。

    • 第一,虚拟内存通常并不会全部分配物理内存。从上面的输出,可以发现每个进程的虚拟内存都比常驻内存大得多。
    • 第二,共享内存 SHR 并不一定是共享的,比方说,程序的代码段、非共享的动态链接库,也都算在 SHR 里。当然,SHR 也包括了进程间真正共享的内存。所以在计算多个进程的内存使用时,不要把所有进程的 SHR 直接相加得出结果。

    Reference

    https://time.geekbang.org/column/article/74272

  • 相关阅读:
    [开源]WinForm 控件使用总结
    类型转换一种处理方式
    [算法]斐波那契数列
    [算法]1 − 2 + 3 − 4 + …
    [算法]冒泡排序
    [开源]基于Log4Net简单实现KafkaAppender
    基于Log4Net本地日志服务简单实现
    项目打jar包,怎么把第三放jar包一起打入
    将博客搬至CSDN
    将字段转换为阿拉伯数字
  • 原文地址:https://www.cnblogs.com/agilestyle/p/11524691.html
Copyright © 2011-2022 走看看