Linux 交换过多

Linux 交换过多

我的 Linux(Mint 17.2)电脑有 4 GB 的 RAM 和 8 GB 的交换分区。我将交换分区设置为 10,而不是默认的 60,它运行正常,但遗憾的是从启动开始只能持续一段时间。

当我启动计算机,一段时间后,内存使用率达到 90% 左右时,它开始交换 - 完美。然而,几天后(如果没有重新启动,只睡眠),计算机似乎开始完全忽略交换设置,内存仅使用 50%,交换使用几乎相同数量的字节。换句话说,一旦使用,即使内存中再次有足够的空间,交换也会继续被填满。

我无法关闭交换区——KDE/Chrome 占用空间有点大。当 RAM 中有可用空间时,我能以某种方式告诉计算机不要使用交换区吗?

编辑

所需信息(添加时情况稍微好一些,RAM 少 0.5 GB 而 Swap 增多的情况并不罕见):

猫/proc/meminfo

MemTotal:        3902076 kB
MemFree:          424196 kB
Buffers:           21048 kB
Cached:           885268 kB
SwapCached:       320476 kB
Active:          1548768 kB
Inactive:        1093232 kB
Active(anon):    1193844 kB
Inactive(anon):   794352 kB
Active(file):     354924 kB
Inactive(file):   298880 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       8388604 kB
SwapFree:        6881408 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:       1599236 kB
Mapped:           302260 kB
Shmem:            252504 kB
Slab:             351700 kB
SReclaimable:      89904 kB
SUnreclaim:       261796 kB
KernelStack:        6400 kB
PageTables:        58436 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    10339640 kB
Committed_AS:    9101152 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      295192 kB
VmallocChunk:   34359426556 kB
HardwareCorrupted:     0 kB
AnonHugePages:    141312 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB                                                                                    
DirectMap4k:      345920 kB                                                                                    
DirectMap2M:     3700736 kB  

自由的

             total       used       free     shared    buffers     cached                                      
Mem:       3902076    3539808     362268     255428      28264     899880                                      
-/+ buffers/cache:    2611664    1290412                                                                       
Swap:      8388604    1489808    6898796   

DF-H

Souborový systém Velikost Užito Volno Uži% Připojeno do                                                        
udev                 1,9G  4,0K  1,9G   1% /dev                                                                
tmpfs                382M  1,5M  380M   1% /run                                                                
/dev/sda4             30G   18G   11G  63% /
none                 4,0K     0  4,0K   0% /sys/fs/cgroup
none                 5,0M     0  5,0M   0% /run/lock
none                 1,9G  214M  1,7G  12% /run/shm
none                 100M   20K  100M   1% /run/user
/dev/sda5             30G   16G   13G  56% /home
/dev/sda6            333G  283G   34G  90% /media/ales/data
/dev/sda2            283M   47M  221M  18% /boot

ps -eo pid,rss,size,vsize,comm | 排序-rn -k 3 | 头部-20

 2547 111956 2772540 3682812 plasma-desktop
 5173  5456 2634668 2670468 Lexicon.exe
 2635 35084 2524912 2889496 dropbox
 2527 47800 2418208 3208048 kwin
 1044   696 2052944 2102624 console-kit-dae
 5147   472 1935412 2044512 winedevice.exe
 5143    44 1869064 1918760 services.exe
 2567  9092 1867348 1906024 mysqld
 2563  5560 1844548 2079388 akonadiserver
 5156    36 1803524 1850984 plugplay.exe
 5163   916 1739940 1858608 explorer.exe
 3997 195952 1373016 1729604 chrome
30458 264260 835336 1207720 chrome
 2598 40524 828932 1665280 krunner
 2314 22084 754576 1553696 kded4
 1886 105908 689432 857012 savscand
 6847 225704 675248 1172204 chrome
30464 126884 642152 992096 chrome
 9050 130264 632096 808100 savscand
30106 172300 582836 1461732 chrome

答案1

chrome 或某个 kde 应用程序似乎存在内存泄漏。确定是哪一个,然后重新启动它。

另一种可能性是基于 tmpfs 的文件系统(可能是 /tmp)已满。在这种情况下,删除或清空那里未使用的文件。


编辑:添加到您的问题中的统计数据并未显示任何症状。

过去,操作系统会在内存中耗尽时换出页面,但这种情况已经结束,不再有内存压力。无论交换设置如何,如果没有正在运行的进程回收页面,操作系统就不会换入(磁盘到内存)页面。活动内存基本上适合可用的内存大小,因此即使交换区域不为空,也不会对性能造成影响。

相关内容