大家好,欢迎来到IT知识分享网。
1.查看内存占用情况
$ free -m -h
total used free shared buff/cache available Mem: 1.8G 884M 327M 136K 626M 780M Swap: 2.0G 462M 1.5G
2.释放物理内存
(1) 释放内存前先使用sync命令做同步,以确保文件系统的完整性,将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件。否则在释放缓存的过程中,可能会丢失未保存的文件。
0:不释放(系统默认值)1:释放页缓存2:释放dentries和inodes3:释放所有缓存
$ sync
(2) 然后通过修改proc系统的drop_caches清理free的cache
$ echo 3 > /proc/sys/vm/drop_caches
(3) 释放完内存后改回去让系统重新自动分配内存
$ echo 0 > /proc/sys/vm/drop_caches
这个执行会报如下错误:-bash: echo: write error: Invalid argument貌似只能重启系统才会生效~坑爹,不管了
3.释放虚拟内存
(1) 关停swap分区(释放虚拟内存):
$ sudo swapoff -a
注意:要保证物理内存剩余量要大于等于swap使用量,否则不能成功释放虚拟内存.(根据内存机制,swap分区一旦释放,所有存放在swap分区的文件都会转存到物理内存上)例如:
$ sudo swapoff -aswapoff: /dev/sdb8: swapoff failed: Cannot allocate memory
如果成功关停swap分区,可以看到Swap这一行的状态显示全0:
$ free -m -h
total used free shared buff/cache available Mem: 1.8G 1.3G 222M 696K 271M 330M Swap: 0B 0B 0B
(2) 再开启swap分区:
$ sudo swapon -a
注意如果报如下错误:
swapon: /swap/swapfile: insecure permissions 0644, 0600 suggested.
就等一会再执行即可!
这时可以看到swap分区free==total,used=0
$ free -m -h
total used free shared buff/cache available Mem: 1.8G 1.3G 323M 696K 233M 394M Swap: 2.0G 0B 2.0G
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/47546.html