小编Rad*_*dík的帖子

如何查找使用 linux 交换的内容或交换中的内容?

我有一个带有 28GB RAM 和 2GB 交换空间的虚拟 linux(Fedora 17)服务器。服务器正在运行一个 MySQL 数据库,该数据库设置为使用大部分 RAM。

运行一段时间后,服务器开始使用 swap 来换出未起诉的页面。这很好,因为我的 swappiness 默认为 60,这是预期的行为。

奇怪的是 top/meminfo 中的数字与来自进程的信息不对应。即服务器报告这些数字:

/proc/meminfo:
SwapCached:        24588 kB
SwapTotal:       2097148 kB
SwapFree:         865912 kB

top:
Mem:  28189800k total, 27583776k used,   606024k free,   163452k buffers
Swap:  2097148k total,  1231512k used,   865636k free,  6554356k cached
Run Code Online (Sandbox Code Playgroud)

如果我使用https://serverfault.com/a/423603/98204 中的脚本,它会报告合理的数字(bash'es、systemd 等交换的几 MB)和 MySQL 的一大笔分配(我省略了很多输出行):

892        [2442] qmgr -l -t fifo -u
896        [2412] /usr/libexec/postfix/master
904        [28382] mysql -u root
976        [27559] -bash
984        [27637] -bash
992        [27931] …
Run Code Online (Sandbox Code Playgroud)

linux memory fedora swap

12
推荐指数
2
解决办法
2万
查看次数

标签 统计

fedora ×1

linux ×1

memory ×1

swap ×1