Ale*_*rin 6 linux swap virtual-memory
我在swapon -s我正在使用的 VPS 上运行,发现有一个交换分区指向/dev/null.
# swapon -s
Filename Type Size Used Priority
/dev/null partition 262144 0 -1
Run Code Online (Sandbox Code Playgroud)
这是否意味着没有任何实际的交换,交换出的任何东西都会丢失?这比根本没有任何交换更好/更糟吗?
的输出df -h:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/ploop63064p1 20G 1.3G 18G 7% /
none 128M 4.0K 128M 1% /dev
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 26M 40K 26M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 128M 0 128M 0% /run/shm
none 100M 0 100M 0% /run/user
Run Code Online (Sandbox Code Playgroud)
的输出cat /etc/fstab:
# cat /etc/fstab
proc /proc proc defaults 0 0
none /dev/pts devpts rw,gid=5,mode=620 0 0
none /run/shm tmpfs defaults 0 0
Run Code Online (Sandbox Code Playgroud)
的输出cat /proc/sys/vm/swappiness:
# cat /proc/sys/vm/swappiness
60
Run Code Online (Sandbox Code Playgroud)
这可以归结为某些虚拟托管基础设施环境根本不需要交换文件/分区设置。为什么?我不确定如何设置不同的虚拟主机基础设施环境来处理 \xe2\x80\x9cout 内存\xe2\x80\x9d 条件和分页;我想在某些情况下,主机操作系统会比来宾操作系统\xe2\x80\x99s 自己的操作系统更有效地处理此类情况?
\n\n例如,查看这篇文章here以及thisposthere似乎Chef需要一个交换文件并将其设置为/dev/null普遍接受的\xe2\x80\x94yet kludgy\xe2\x80\x94解决方案以有效\xe2\x80\ x9cneutralize\xe2\x80\x9d 用于某些虚拟专用服务器部署的交换文件/分区设置。
此外,似乎您的系统 \xe2\x80\x9cswapiness\xe2\x80\x9d 必须设置0为这样的设置才能工作。您可以通过以下命令检查来确认这一点:
cat /proc/sys/vm/swappiness\nRun Code Online (Sandbox Code Playgroud)\n\n正如此维基百科条目中所解释的,\xe2\x80\x9cswapiness\xe2\x80\x9d 可以设置在 0 到 100 范围内的任何位置:
\n\n\n\n\nSwappiness 可设置为 0 到 100 之间的值(含 0 和 100)。较低的值会导致内核避免交换,较高的值会导致内核尝试使用交换空间。默认值为 60,对于大多数桌面系统,将其设置为 100 可能会影响整体性能,而设置较低(甚至 0)可能会减少响应延迟。
\n
提出的共同价值观是:
\n\n这告诉我,您的 VPS 可能有一些系统设置,以避免因交换丢失而导致严重的内存不足情况。因此,我的下一个建议是联系您的 VPS 提供商并要求提供一些说明。要详细了解虚拟主机提供商如何建议如何最好地使用交换文件/分区,请查看DigitalOcean 的这篇文章。
\n