如何解决Linux系统Swap耗尽问题

如何解决Linux系统Swap耗尽问题,第1张

Linux系统上可以同时有多个swap,根据是用swapon -s命令可以看到系统上所有的swap,而用free命令看到的是swap总的大小。所以swap不够用时可以再建立一个swap,一般是用建立swap文件的方式添加一个swap空间。下面以1G大小的文件为例介绍如何用文件建立内存交换空间:

1. 使用dd命令在某个目录(实际使用时换成其他目录,/tmp目录的数据会在重启后丢失)下新建一个1G的文件:

dd if=/dev/zero of=/tmp/swap bs=1M count=1024

解释:1M是单位,1024是数目,合计1024M就是总大小1G

2. 格式化这个文件为swap格式:(用mkswap命令)

mkswap /tmp/swap

3. 启动swap,用swapon命令(就是将新建的swap添加到系统):

swapon /tmp/swap

4. 查看效果(用swapon的-s参数):

swapon -s

可以看到所有的swap分区,如果成功了,/tmp/swap必然在里面。然后再用free命令查看,就可以看到swap空间增加了。

1、定期对重要文件系统扫描,并作对比,分析那些文件经常读写

#ls–lR/home>files.txt

#diff filesold.txt files.txt

通过分析预测空间的增长情况,同时可以考虑对不经常读写的文件进行压缩,以减少占用空间。

2、查看空间满的文件系统的inodes消耗

#df -i/home

如果还有大量inode可用,说明大文件占用空间,否则是可能大量小文件占用空间。

3、找出占用空间较大的目录

查看/home占用的空间

#du -hs/home

查看/home下占用空间超过1000m

#du |awk '$1>2000'

4、找出占用空间较大的文件

#find /homesize+2000k

5、找出最近修改或创建的文件

先touch一个你想要的时间的文件如下:

# touch-t 08190800 test

#find/home -newer test -print

6、删除系统日志等

删除生成core,mbox等文件

#find/ -name core|xargs rm -rf

删除日志

#rm -rf/var/log/*

7、对分区做链接

在有空间的分区,对没有空间分区做链接

#ln -s /home/usr/home

8、找出耗费大量的空间的进程

根据不同的应用,找出对应的进程,分析原因

9、检查并修复文件系统

#fsck -y/home

10、重启机器


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存