想查下内存占用,用 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 是谁占用了,网上搜了一通都不知所云。。。
![]() | 1 cheng6563 2020-12-09 16:08:58 +08:00 via Android top 按 f,把 USED 调出来 |
![]() | 2 cheng6563 2020-12-09 16:19:37 +08:00 另外第一行的 used 和 free 是包括了磁盘缓存的。得看-/+ buffers/cache:那一行。 |
![]() | 3 auto8888 OP @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 |
![]() | 5 kangfenmao 2020-12-09 17:52:16 +08:00 htop |
6 nuandong 2020-12-09 18:44:56 +08:00 via iPhone 看 rss |
![]() | 7 lean 2020-12-09 18:47:14 +08:00 via Android /proc/进程 id/mem |
8 muskill 2020-12-10 08:22:44 +08:00 via iPhone top -p pid |
![]() | 9 codehz 2020-12-10 10:08:31 +08:00 via Android 说实话内存占用测不准的,看 rss 你全部进程加起来可能要大于总内存,看 vsz 一个进程就可以远大于物理内存总量,看 uss 可能你都 oom 了它还汇报一个很小的数值,看 pss 你一个进程的内存使用还会受到别的进程启动退出影响) |