赞
踩
物理内存:
当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching,
因此很有必要手动清理系统缓存释放内存。
1.先执行sync,先把buffe中的数据先写入到硬盘中。
2.输入手动释放内存的命令
echo 3 > /proc/sys/vm/drop_caches
drop_caches的值可以是0-3之间的数字,代表不同的含义:
0:不释放(系统默认值)
1:释放页缓存
2:释放dentries和inodes
然后我们可以执行 free -m,先观察到内存已经被释放
SAWP分区使用率
原理:
控制swap使用的系统参数:swappiness
Swappiness:表示使用物理内存限度
Swappiness为0(100%-0=100%)表示物理内存使用到100%的时候使用swap空间(这种风险太高,因为swap分配空间本来就很小,容易触发OOM)
Swappiness为60(100%-60%=40%)表示物理内存使用到40%的时候使用swap空间,默认值是60,对应的配置文件是/proc/sys/vm/swappiness
如果swappiness设置太大(内存的速度会比磁盘快很多),这样子会加大系统io,同时造的成大量页的换进换出,严重影响系统的性能,
所以我们在操作系统层面,要尽可能使用内存,对该参数进行调整。
如SAWP分区使用率过高:
1.使用TOP命令查看进程分析是什么进程占用内存使用率过高
解决思路
1.首先明白是什么导致的内存使用率过高,如果是应用进程使用率过高就联系开发由开发提供解决方案,可能是内存泄漏等
2.如应用进程使用率不高,那么需要释放swap分区,在释放swap分区之前必须必须要确保服务器物理内存剩余使用率高于目前swap分区已使用的内存量,
(如剩余物理内存还有10G,swap分区总共3G,已使用2G,那么释放swap分区后剩余物理内存可用值是8G)
3.释放swap分区操作命令
(1)查看swap分区挂载的文件系统路径 swapon -s (默认都是/dev/dm-1)
(2)关闭sqap分区 swapoff /dev/dm-1(该过程其实就是释放自身内存到物理内存,比较慢,释放2G大约要6分钟时间,期间可以另起一个窗口,执行top命令查看swap分区释放的进度值)
(3) swapon -s 如果查询不到挂载点,表示已经全部释放到物理内存
(4) swapon /dev/dm-1 重新把交换分区挂载上去,实际分配的总内存和释放前是一样的,已使用的内存清零
(5)swapon -s查看是否挂载上去
或者可以用以下两个命令清除刷新swap
swapoff -a
swapon -a
这样swap就还原到初始状态
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。