linux下清理内存以及swap

linux下清理内存以及swap,第1张

第一步:先执行sync命令

#sync

sync命令用于强制被改变的内容立刻写入磁盘,更新超块信息,以防止释放,sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。

第二步:清理linux内存缓存

#echo 3 >/proc/sys/vm/drop_caches

一般系统是不会自动释放内存的

关键的配置文件/proc/sys/vm/drop_caches。这个文件中记录了缓存释放的参数,默认值为0,也就是不释放缓存。他的值可以为0~3之间的任意数字,代表着不同的含义:

0 – 不释放

1 – 释放页缓存

2 – 释放dentries和inodes

3 – 释放所有缓存

此指令输入立即生效,意在释放所有缓存。

第三步:关闭swap,再开启swap

(如果只是清理swap,第二部可以不用进行 *** 作,因为 *** 作了第二步关闭swap时会使用更长的时间)

#swapoff -a  这一步因为是后台 在一点一点的释放,如果配置的swap超大,这里就等待得超久一些

#swapon -a  再开启

linux什么时候开始使用虚拟内存(swap)

A.[root@wenwen ~]# cat /proc/sys/vm/swappiness

60

上面这个60代表物理内存在使用60%的时候才会使用swap

swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,

swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。

通常情况下:

swap分区设置建议是内存的两倍 (内存小于等于4G时),如果内存大于4G,swap只要比内存大就行。另外尽量的将swappiness调低,这样系统的性能会更好。

B.修改swappiness参数

临时性修改:

[root@wenwen ~]# sysctl vm.swappiness=10

vm.swappiness = 10

[root@wenwen ~]# cat /proc/sys/vm/swappiness               

10

永久性修改:

[root@wenwen ~]# vim /etc/sysctl.conf

加入参数:

vm.swappiness = 35

然后在直接:

[root@wenwen ~]# sysctl -p

查看是否生效:

cat /proc/sys/vm/swappiness

35

tmp目录下是用户的临时文件,可将不需要的直接用rm命令删除。 另外,也可以使用以下方法对linux系统进行清理。

1)清理升级缓存以及无用包;

sudo apt-get autoclean

sudo apt-get clean

sudo apt-get autoremove

2)清理opera/firefox缓存文件;

ls ~/.opera/cache4|xargs rm -f

ls ~/.mozilla/firefox/*.default/Cache|xargs rm -f

3)清理Linux下孤立的包;

图形界面下我们可以用:gtkorphan

sudo apt-get install gtkorphan -y

终端命令下我们可以用:deborphan

sudo apt-get install deborphan -y

4)删除多余的内核;

打开终端敲命令:dpkg --get-selections|grep linux

有image的就是内核文件

删除老的内核文件:

sudo apt-get remove 内核文件名 (例如:linux-image-2.6.27-2-generic)

内核删除,释放空间了,应该能释放130-140M空间。

最后看看当前内核:uname -a

5)清空某个目录下所有log日志;

for i in `ls *.log*`

do

cat /dev/null >$i

done

附录:

临时文件目录:/var/cache/apt/archives

未下载完目录:/var/cache/apt/archives/partial

#清理Linux系统缓存

<pre t="code" l="bash">[root@oracle ~]# echo 1 >/proc/sys/vm/drop_caches注:1>. /proc是一个虚拟文件系统,可以通过对它的读写 *** 作作为与kernel实体间进行通信的一种手段。也就是说可以通过修改/proc中的文件,来对当前kernel的行为做出调整。也就是说我们可以通过调整/proc/sys/vm/drop_caches来释放内存。0 – 不释放

1 – 释放页缓存

2 – 释放文件节点缓存和目录项缓存3 – 释放所有缓存<pre t="code" l="bash">[root@oracle ~]# sysctl -p

#查看剩余内存

[root@oracle ~]# free -m

total used free sharedbuffers cached

Mem: 3383 1952 1431 0 1 1136

-/+ buffers/cache:814 2568

Swap: 1983195 1788


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8897438.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-22
下一篇 2023-04-22

发表评论

登录后才能评论

评论列表(0条)

保存