在 Debian Linux 3.16 机器上,我使用了 244 MB 的交换空间:
# free -h
total used free shared buffers cached
Mem: 94G 36G 57G 1.9G 3.8G 11G
-/+ buffers/cache: 20G 73G
Swap: 487M 244M 243M
Run Code Online (Sandbox Code Playgroud)
看看这个,我找不到使用的 244 MB。
# for file in /proc/*/status ; do grep VmSwap $file; done | sort -nk 2 | tail
VmSwap: 0 kB
VmSwap: 0 kB
VmSwap: 0 kB
VmSwap: 0 kB
VmSwap: 0 kB
VmSwap: 0 kB
VmSwap: 4 kB
VmSwap: 12 kB
VmSwap: 16 kB
VmSwap: 36 kB
Run Code Online (Sandbox Code Playgroud)
我只有 34 MB 的SwapCached
:
# grep -i swap /proc/meminfo
SwapCached: 34584 kB
SwapTotal: 499708 kB
SwapFree: 249388 kB
Run Code Online (Sandbox Code Playgroud)
内核文档对此说:
SwapCached:曾经被换出的内存,被换回但仍然在交换文件中(如果需要内存,它不需要再次换出,因为它已经在交换文件中。这样可以节省 I/O)
我如何知道哪个进程正在使用我的 Linux 系统上的交换空间?更准确地说:这 244 MB 的交换空间中的每一个都在哪里使用?
我如何知道 Linux 系统上哪个进程正在使用我的交换空间?
交换空间不一定由特定进程使用。
更准确地说:这 244 MB 的交换空间消耗在哪里?
存储在基于文件系统上的文件tmpfs
可能正在使用它们(tmpfs
首先使用 RAM 作为后端,但为了不浪费 RAM,可以分页到未主动使用的交换区域块)。
检查输出:
df -ht tmpfs
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5426 次 |
最近记录: |