V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
auto8888
V2EX  ›  问与答

Linux 怎么看单个程序占用的内存?

  •  
  •   auto8888 · 2020-12-09 16:07:04 +08:00 · 1858 次点击
    这是一个创建于 1479 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想查下内存占用,用 top 就只看到虚拟内存

    Mem: 1048868K used, 2868352K free, 336K shrd, 6412K buff, 914548K cached

    CPU: 1.1% usr 5.0% sys 0.0% nic 92.3% idle 0.0% io 0.0% irq 1.4% sirq

    Load average: 1.36 1.41 1.30 4/173 28193

    PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND

    16720 31555 root S 2146m 55.7 3 4.7 /home/root/App

    这个 VSZ 基本不变化,但是用 free -m 可以看到

             total         used         free       shared      buffers
    

    Mem: 3825 930 2894 0 3

    -/+ buffers: 927 2898

    Swap: 0 0 0

    随着程序运行,free 的大小在慢慢变小,我想看这个 used 是谁占用了,网上搜了一通都不知所云。。。

    9 条回复    2020-12-10 10:08:31 +08:00
    cheng6563
        1
    cheng6563  
       2020-12-09 16:08:58 +08:00 via Android
    top 按 f,把 USED 调出来
    cheng6563
        2
    cheng6563  
       2020-12-09 16:19:37 +08:00
    另外第一行的 used 和 free 是包括了磁盘缓存的。得看-/+ buffers/cache:那一行。
    auto8888
        3
    auto8888  
    OP
       2020-12-09 16:24:29 +08:00
    @cheng6563 没反应,倒是按 s 有变化了

    Mem total:3917220 anon:81888 map:13252 free:2865656

    slab:20900 buf:7256 cache:915120 dirty:12 write:0

    Swap total:0 free:0

    PID VSZ VSZRW RSS (SHR) DIRTY (SHR) STACK^COMMAND

    16720 2146m 1169m 78088 1640 71984 0 132 /home/root/App
    auto8888
        4
    auto8888  
    OP
       2020-12-09 16:35:37 +08:00
    @cheng6563 好像看 RSS 就行了。。。
    kangfenmao
        5
    kangfenmao  
       2020-12-09 17:52:16 +08:00
    htop
    nuandong
        6
    nuandong  
       2020-12-09 18:44:56 +08:00 via iPhone
    看 rss
    lean
        7
    lean  
       2020-12-09 18:47:14 +08:00 via Android
    /proc/进程 id/mem
    muskill
        8
    muskill  
       2020-12-10 08:22:44 +08:00 via iPhone
    top -p pid
    codehz
        9
    codehz  
       2020-12-10 10:08:31 +08:00 via Android
    说实话内存占用测不准的,看 rss 你全部进程加起来可能要大于总内存,看 vsz 一个进程就可以远大于物理内存总量,看 uss 可能你都 oom 了它还汇报一个很小的数值,看 pss 你一个进程的内存使用还会受到别的进程启动退出影响)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2536 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 111ms · UTC 15:09 · PVG 23:09 · LAX 07:09 · JFK 10:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.