想查下内存占用,用 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 你一个进程的内存使用还会受到别的进程启动退出影响)
|