• linux下定位内存泄漏 /proc/pid/status 解释


    内存泄漏一直是程序定位的盲点,很多时候感觉用着用着内存会越来越少,导致程序崩溃,而一般top等linux命令又不够详细,通过cat /proc/pid/status 命令,可详细查看进程的内存占用情况,其中pid是进程id.

    进程号去查状态 cat /proc/(PID)/status

    Name: mysqld --进程名字
    State: S (sleeping) --进程状态
    Tgid: 23778 --进程组号
    Pid: 23778 --进程号
    PPid: 21783 --父进程号
    TracerPid: 0 --跟踪进程号,0表示没有跟踪
    Uid: 803 803 803 803 --用户id
    Gid: 803 803 803 803 --组id
    Utrace: 0
    FDSize: 8192 --使用文件描述符的上限
    Groups: 803
    VmPeak: 11775740 kB --内存峰值
    VmSize: 11775740 kB --内存使用
    VmLck: 0 kB --锁住的内存
    VmHWM: 1522852 kB --物理内存峰值
    VmRSS: 1522852 kB --物理内存实际使用
    VmData: 11722700 kB --数据段大小
    VmStk: 92 kB --堆栈段大小
    VmExe: 23168 kB --代码段大小
    VmLib: 3528 kB --lib库大小
    VmPTE: 3492 kB --使用页表的大小
    VmSwap: 0 kB --使用swap的大小
    Threads: 43 --线程的数量
    SigQ: 542/2067000
    SigPnd: 0000000000000000
    ShdPnd: 0000000000000000
    SigBlk: 0000000000084007
    SigIgn: 0000000000003006
    SigCgt: 00000001800006e8
    CapInh: 0000000000000000
    CapPrm: 0000000000000000
    CapEff: 0000000000000000
    CapBnd: ffffffffffffffff
    Cpus_allowed: ffff,ffffffff --cpu使用掩码
    Cpus_allowed_list: 0-47 --cpu列表
    Mems_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000003
    Mems_allowed_list: 0-1 --内存列表
    voluntary_ctxt_switches: 1314 --主动切换的次数
    nonvoluntary_ctxt_switches: 109 --被动切换的次数

    其中可重点关注以下参数
    FDSize: --使用文件描述符的上限
    VmPeak: 表示进程所占用最大虚拟内存大小
    VmSize: 表示进程当前虚拟内存大小
    VmLck: 表示被锁定的内存大小
    VmHWM: 表示进程所占用物理内存的峰值
    VmRSS: 表示进程当前占用物理内存的大小(与procrank中的RSS)
    VmData: 表示进程数据段的大小
    VmStk: 表示进程堆栈段的大小
    VmExe: 表示进程代码的大小
    VmLib: 表示进程所使用共享库的大小

  • 相关阅读:
    OpenCV-3.4.1+VTK7.1.1+PCL1.8.1编译安装教程(Ubuntu16.04,Ubuntu18.04系统,ARM/X86架构都适用)
    医药资讯网都有哪些?最值得推荐的有哪些?
    【Git】Git 的基本操作 -- 详解
    母婴服务预约小程序的效果如何
    《JavaScript前端开发与实例教程(微课视频版)》
    常见的结构型设计模式
    Mybatis - XML
    《STL源码剖析》笔记——allocator
    springboot集成kafka
    每天五分钟计算机视觉:如何在现有经典的卷积神经网络上进行微调
  • 原文地址:https://blog.csdn.net/u011942101/article/details/126126465