我试图找出为什么我的 Linux 机器这么慢,我发现了这个:
$ free --human
total used free shared buff/cache available
Mem: 7,3Gi 6,6Gi 168Mi 1,0Gi 1,8Gi 746Mi
Swap: 9,3Gi 2,7Gi 6,6Gi
当我运行时,top -n1 -b -o+RES | head -n20
我看不到任何使用这么多内存的进程。甚至缓存也没有填满这么多。
top - 07:37:45 up 23 min, 2 users, load average: 1,31, 1,41, 1,04
Tasks: 272 total, 1 running, 271 sleeping, 0 stopped, 0 zombie
%Cpu(s): 8,7 us, 13,0 sy, 0,0 ni, 78,3 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st
MiB Mem : 7457,6 total, 150,1 free, 5718,4 used, 2481,4 buff/cache
MiB Swap: 9536,0 total, 9524,2 free, 11,8 used. 1739,2 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5038 isumis 20 0 2122864 1,3g 23568 S 0,0 17,8 0:42.42 rust-an+
3675 isumis 20 0 11,5g 401788 167268 S 0,0 5,3 4:52.22 firefox+
3883 isumis 20 0 38,7g 327144 78416 S 0,0 4,3 1:32.40 WebExte+
2712 isumis 20 0 3909688 275568 112448 S 0,0 3,6 0:46.07 plasmas+
7724 isumis 20 0 2718576 240288 79788 S 0,0 3,1 1:39.39 Isolate+
8244 isumis 20 0 2654028 214240 95748 S 0,0 2,8 0:16.32 Isolate+
7926 isumis 20 0 1123,1g 211408 119956 S 0,0 2,8 0:04.49 1passwo+
8283 isumis 20 0 2621440 183860 101344 S 0,0 2,4 0:16.16 Isolate+
8142 isumis 20 0 2595336 176064 96568 S 5,6 2,3 0:13.75 Isolate+
1179 root 20 0 1691464 171008 25304 S 0,0 2,2 0:19.97 dockerd
7992 isumis 20 0 32,3g 160576 41824 S 0,0 2,1 0:01.14 1passwo+
4908 isumis 20 0 1130,9g 156720 58864 S 0,0 2,1 0:11.68 code
4808 isumis 20 0 1122,0g 144336 53780 S 0,0 1,9 0:05.30 code
即使关闭 VS Code(rust 分析器)后,仍有 3GB 空间在使用中。
我可以做些什么来解决这个问题吗?
我在 Lenovo T470p 上使用 Debian 12。
答案1
输出中的 RES 列top
显示每个进程使用的物理内存量。 (进程使用的内存常驻于物理内存中。这与每个进程分配的虚拟内存不同。)仅在显示的子集中使用了 4GB。
有1.8GB用作缓存。这个可以丢弃自动地一旦真正需要物理内存,系统就会立即执行此操作(与其他地方的一些海报相反,您不需要手动删除这些缓存)。这使得总使用量达到 5.8GB。
您提供了有关 272 个进程中的 13 个进程的信息。我想说,很可能有足够的未列出进程来消耗您在问题标题中提到的剩余 0.8GB。