zoukankan      html  css  js  c++  java
  • Linux内存管理 (26)内存相关工具

    1. vmstat

    参照《Linux CPU占用率监控工具小结-vmstat

    2. memstat

    memstat可以通过sudo apt install memstat安装,安装包括两个文件memstat和memstat.conf。

    其中memstat.conf是memstat配置文件,指定memstat检索目录,里面应该包括主要的bin和lib目录。

    memstat通过遍历/proc下所有进程,然后解析内存使用情况。

    通过对比可以发现,memstat不会统计内核线程的内存使用情况,同时memstat也不会统计所有设备使用的内存。

    2.1 memstat使用

    memstat使用很简单:

    memstat - 显示整个系统内存使用情况。

    memstat -p pid - 显示进程pid的内存使用情况。

    2.2 memstat解读

    下面是一嵌入式设备的memstat情况,和ps对照可以看出不显示内核线程占用情况。

    总体来看分为两大部分:进程视角、文件视角。

    # memstat
        288k: PID     1 (/bin/busybox)-----------------------------------------------------进程可执行文件内存占用
        476k: PID   147 (/usr/sbin/sshd)
        288k: PID   153 (/bin/busybox)
        288k: PID   154 (/bin/busybox)
        288k: PID   210 (/usr/bin/memstat)
        784k(    760k): /bin/busybox 1 153 154 1 153 154 1 153 154-------------------------共享库内存占用情况
         52k(     36k): /lib/libnss_files-2.28.9000.so 147 154 147 154 147 154
         16k(      8k): /lib/libutil-2.28.9000.so 147
         36k(     28k): /lib/libcrypt-2.28.9000.so 147
       1272k(   1192k): /lib/libc-2.28.9000.so 1 147 153 154 210 1 147 153 154 2...
        156k(    116k): /lib/ld-2.28.9000.so 1 147 153 154 210 1 147 153 154 210...
         16k(      8k): /lib/libdl-2.28.9000.so 147
        708k(    696k): /usr/sbin/sshd 147
       1460k(   1364k): /usr/lib/libcrypto.so.1.0.0 147
         80k(     72k): /usr/lib/libz.so.1.2.11 147
         16k(      8k): /usr/bin/memstat 210
    --------
       6224k (   4288k)

    2.2.1 bin内存占用

    依次是占用内存大小、pid号、文件路径。

    这里的大小不包括库文件,也不包括可执行文件的text段,只是进程私有内存大小。

    2.2.3 库内存占用

    依次是此文件总的分配内存、括号内是共享部分大小、然后是库路径、最后是使用此库文件的进程号。

     

  • 相关阅读:
    程序员修炼之道阅读笔记2
    程序员修炼之道阅读笔记1
    软件体系架构的质量属性
    计算贴现率相关问题
    以《淘宝网》为例,描绘质量属性的六个常见属性场景
    第十四周总结
    软件需求模式阅读笔记
    第十三周总结
    第十二周总结
    重大技术需求进度报告六
  • 原文地址:https://www.cnblogs.com/arnoldlu/p/10028032.html
Copyright © 2011-2022 走看看