我有一台计算机负责我们社区广播电台的各种功能,包括处理广播节目的音频。它远程运行,每天发送健康电子邮件,让我关注它的状态。我发现几天内可用内存下降了很多,而且不知道它去了哪里。
该报告包含“free”的输出和使用内存的前 20 个进程:
ps -eo comm:15,pid,ppid,cmd,%mem,%cpu --sort=-%mem | head -n 20
两天前:
Memory stats as of 10/17/2023
total used free shared buff/cache available
Mem: 12Gi 3.1Gi 7.4Gi 160Mi 2.1Gi 9.0Gi
Swap: 0B 0B 0B
Total: 12Gi 3.1Gi 7.4Gi
MEM stats
COMMAND PID PPID CMD %MEM %CPU
ST_FM 2214 1 /home/kpov_tech/Desktop/Ste 4.6 24.1
ST_Stream 2256 1 /home/kpov_tech/Desktop/Ste 4.5 21.6
plasmashell 1759 1689 /usr/bin/plasmashell 2.0 0.2
kwin_x11 1721 1689 /usr/bin/kwin_x11 1.8 10.7
fluidsynth 1538 1528 /usr/bin/fluidsynth -is /us 1.8 0.0
kded5 1718 1689 /usr/bin/kded5 1.8 0.0
audacious 871581 827042 /usr/bin/audacious --play 1.6 1.6
Xorg 1259 1218 /usr/lib/xorg/Xorg -noliste 1.3 16.8
dolphin 774584 1759 /usr/bin/dolphin 1.2 0.1
kwrite 44322 1 /usr/bin/kwrite /home/kpov_ 1.1 0.1
konsole 2097 1 konsole --noclose --profile 1.0 0.1
raysession 2307 1 /usr/bin/python3 -u /usr/sh 1.0 0.3
jackd 2111 2097 /usr/bin/jackd -v -d alsa - 1.0 0.7
zita-mu1 2173 1 /usr/bin/zita-mu1 -name MON 0.9 0.4
ebumeter 2191 1 ebumeter -name ebu_Raw_MCR 0.9 1.0
ebumeter 2207 1 ebumeter -name ebu_ListenLi 0.9 0.9
ebumeter 2200 1 ebumeter -name ebu_ST_FM 0.9 0.9
ebumeter 2184 1 ebumeter -name ebu_ST_Strea 0.9 0.9
ray-jackpatch_t 2330 1 /usr/bin/python3 -u /usr/sh 0.9 0.1
今天:
Memory stats as of 10/19/2023
total used free shared buff/cache available
Mem: 12Gi 3.8Gi 529Mi 155Mi 8.2Gi 8.2Gi
Swap: 0B 0B 0B
Total: 12Gi 3.8Gi 529Mi
MEM stats
COMMAND PID PPID CMD %MEM %CPU
ST_FM 2214 1 /home/kpov_tech/Desktop/Ste 4.6 24.1
ST_Stream 2256 1 /home/kpov_tech/Desktop/Ste 4.5 21.8
plasmashell 1759 1689 /usr/bin/plasmashell 2.4 0.2
fluidsynth 1538 1528 /usr/bin/fluidsynth -is /us 1.8 0.0
kwin_x11 1721 1689 /usr/bin/kwin_x11 1.8 9.5
audacious 871581 827042 /usr/bin/audacious --play 1.5 1.6
Xorg 1259 1218 /usr/lib/xorg/Xorg -noliste 1.2 16.4
dolphin 3467064 1759 /usr/bin/dolphin 1.1 0.1
kwrite 44322 1 /usr/bin/kwrite /home/kpov_ 1.0 0.1
kded5 1718 1689 /usr/bin/kded5 1.0 0.0
jackd 2111 2097 /usr/bin/jackd -v -d alsa - 1.0 0.7
konsole 2097 1 konsole --noclose --profile 1.0 0.0
raysession 2307 1 /usr/bin/python3 -u /usr/sh 1.0 0.3
xdg-desktop-por 3450540 1528 /usr/lib/x86_64-linux-gnu/l 0.9 0.0
zita-mu1 2173 1 /usr/bin/zita-mu1 -name MON 0.9 0.4
ebumeter 2191 1 ebumeter -name ebu_Raw_MCR 0.9 1.0
ebumeter 2207 1 ebumeter -name ebu_ListenLi 0.9 0.9
ebumeter 2200 1 ebumeter -name ebu_ST_FM 0.9 0.9
ebumeter 2184 1 ebumeter -name ebu_ST_Strea 0.9 0.9
我觉得有大约 7Gi 的可用内存已经消失了。我如何才能找出正在使用它的内容?
答案1
从“免费”应用程序的输出可以看出,您有大约 8-9Gi 的可用内存。
可能会让您感到困惑的是,在标有“可用”的列下,您会看到非常少量的内存 - 这是正常行为。
您必须将可用内存中的“缓冲/缓存”列 - Linux 使用可用内存作为缓冲区,以便在可能的情况下帮助加快其他进程,并且这种内存在传统意义上并非不可用 - 如果需要,您仍然可以将其用于其他应用程序。
您可以在日志的“可用”列中看到系统中可用的总内存。