可用交换空间低但没有任何东西使用它

可用交换空间低但没有任何东西使用它

我们在 7.4.1708 上运行 PostgreSQL 10.3。昨天,突然有东西占用了大约 2.2GB 的交换空间。

我只找到了几个进程,重新启动它们后只得到了大约 200MB。

我已经删除了 pagecache 并将 vm.swappiness 设置为 0,但 swap 并未删除。

我搜索过声称交换的内容但没有找到。

  • 免费,2025MB 交换空间被索取
  • 顶部什么也没说声称交换
  • smem 表示没有申领 swap

root@server# free -m total used free shared buff/cache available Mem: 1031502 9793 308314 201749 713394 812428 Swap: 4095 2025 2070

root@server#smem -s swap 178243 root python /bin/smem -s swap 0 6184 6682 10120 1 root /usr/lib/systemd/systemd -- 8 16632 17267 20720 7929 root /usr/lib/systemd/systemd-jo 108 12624 52410 94280

root@server#top -o SWAP PID USER PR NI VIRT RES SHR SWAP S %CPU %MEM TIME+ 7929 root 20 0 144380 94436 94148 108 S 0.0 0.0 29:32.52 1 root 20 0 206152 20720 5480 8 S 0.0 0.0 61:07.68 2 root 20 0 0 0 0 0 S 0.0 0.0 0:22.39

我不想关闭 swap 和 swapon。因为这是我们的主要数据库服务器,我听说关闭 swap 可能会使系统不稳定。

我该怎么办?如何找到哪个进程声明了交换空间?

相关内容