即使操作系统内存不足,Linux 交换区也不会使用

即使操作系统内存不足,Linux 交换区也不会使用

交换使用率很低,操作系统有时会耗尽内存并开始清除进程

swapon -s 

Filename                                Type            Size    Used   Priority
/dev/vda1                               partition       2047992 75030       1

内存使用率约为 97%。知道哪里出了问题吗?我尝试关闭/打开交换,但没有帮助。v

Centos 6.5/内核 2.6.32

cat /proc/meminfo

MemTotal:       15000800 kB
MemFree:          300532 kB
Buffers:           11364 kB
Cached:           211224 kB
SwapCached:            0 kB
Active:         12613992 kB
Inactive:        1854012 kB
Active(anon):   12555272 kB
Inactive(anon):  1690320 kB
Active(file):      58720 kB
Inactive(file):   163692 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       2047992 kB
SwapFree:        2047992 kB
Dirty:                68 kB
Writeback:             0 kB
AnonPages:      14245460 kB
Mapped:            19440 kB
Shmem:               176 kB
Slab:              76136 kB
SReclaimable:      48572 kB
SUnreclaim:        27564 kB
KernelStack:        2400 kB
PageTables:        35352 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     9548392 kB
Committed_AS:    7996680 kB
VmallocTotal:   34359738367 kB
VmallocUsed:       40680 kB
VmallocChunk:   34359684884 kB
HardwareCorrupted:     0 kB
AnonHugePages:   9834496 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:        9204 kB
DirectMap2M:    15417344 kB

swappiness 看起来不错

cat /proc/sys/vm/swappiness
60

答案1

非常有趣的是,您有将近 300 MB 的可用空间和 200 MB 的缓存,可能您的 swappine 不够激进,我过去多次玩过这个,以便通过托管 VPS 获得更高的性能,因此您必须更改您的 vm.swappiness 内核参数来为您设置一个精细的阈值,这些链接对您有好处,但在投入生产之前请务必进行测试。

https://askubuntu.com/questions/103915/how-do-i-configure-swappiness https://en.wikipedia.org/wiki/Swappiness

我希望它有帮助!

答案2

另一个尝试在 /proc 或 /etc/sysctl.conf 中调整的选项是 /sys/vm/overcommit_ratio。默认情况下,Linux 在交换使用率过高之前就开始终止进程​​。

可以通过运行命令“man proc”找到使用的确切公式

相关内容