当前位置:首页 > 内存 > 正文

linux内存满了该如何清理

  • 内存
  • 2024-07-23 03:14:55
  • 9164

一、linux下清理内存以及swap第一步:先运行sync命令
#sync
sync命令用于强制修改的内容立即写入磁盘,并更新超级块信息,以防止释放后,可以使用synchronize命令强制将数据立即写入磁盘内存缓冲区。
第二步:清除Linux内存缓存
#echo3>/proc/sys/vm/drop_caches
一般系统不会自动释放en内存
关键配置文件/proc/sys/vm/drop_caches.该文件记录了缓存释放参数。默认值为0,表示不释放缓存。它的值可以是0到3之间的任意数字,代表几种含义:
0–不释放
1–释放页面缓存
2–释放dentry和inode
3–释放所有缓存
该命令立即生效,释放所有缓存。
第三步:关闭swap,然后打开swap
(如果只是清理swap,则不需要执行第二步,因为完成后第二步关闭swap,时间会长一点)
#swapoff-a这一步的发生是因为壁纸是一点点释放的。如果配置的swap太大,在这里等待会导致时间过长
#swapon-aRestart
Linux什么时候开始使用虚拟内存(swap)
A.[root@wenwen~]#cat/proc/sys/vm/swappiness
60
之前的值60表示物理内存只有使用到60%时才会使用swap
当swappiness=0时,表示物理内存和交换空间使用的最大限制。当swappiness=100时,表示主动使用交换分区,及时将数据从内存移至交换空间。。
一般情况:
建议将交换分区设置为等于内存两倍的值(当内存小于或等于4G时,如果内存为大于4G)。交换区只需比内存大即可。另外,尽量减少swappiness,这样系统性能会更好。
B.更改swappiness参数
临时更改:
[root@wenwen~]#ness=10
ness=10
[root@wenwen~]#cat/proc/sys/vm/swappiness    
10
永久更改:
[root@wenwen~]#vim/etc/
添加参数:
ness=35
然后直接:
[root@wenwen~]#sysctl-p
检查是否生效:
cat/proc/sys/vm/swappiness
35