我的 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)已满。在这种情况下,删除或清空那里未使用的文件。
编辑:添加到您的问题中的统计数据并未显示任何症状。
过去,操作系统会在内存中耗尽时换出页面,但这种情况已经结束,不再有内存压力。无论交换设置如何,如果没有正在运行的进程回收页面,操作系统就不会换入(磁盘到内存)页面。活动内存基本上适合可用的内存大小,因此即使交换区域不为空,也不会对性能造成影响。