Linux服务器硬盘占用率高
磁盘占用率90%

为了防止磁盘占满导致系统崩溃,需要清理空间
排查
#查看挂载的各磁盘占用率
df -h
# 只统计根分区自身使用的目录空间大小,不包含其他挂载上来的子分区
du -h --max-depth=1 --one-file-system / 2>/dev/null | sort -hr
#查看根分区的文件大小
ll -h /
发现是虚拟内存占用20G

#查看是否启用swap虚拟内存
free -h
#查看虚拟内存及其文件位置
swapon --show

解决方案一:关闭虚拟内存(不推荐)
经过free -h查看swap使用率为0,内存足够大的情况下可以关闭虚拟内存。但是遇到大型编译、Docker 爆容器; MySQL、Java 突发吃内存;系统内核或者偶发的进程泄漏时,有 swapfile,起码系统不会因为“爆内存”直接挂掉,最多就是稍微卡一下。
#关闭swap虚拟内存
sudo swapoff /swapfile
#删除虚拟文件
sudo rm -f /swapfile
#注释掉 /swapfile none swap sw 0 0 这一行
sudo vi /etc/fstab
把 fstab 里的 swapfile 挂载行注释掉或删除,避免下次重启自动挂载
解决方案二:改小虚拟内存(推荐)
#1.关闭swap虚拟内存
sudo swapoff /swapfile
#2.删除原来的 swapfile
sudo rm -f /swapfile
#3.重新创建指定大小的 swapfile
sudo fallocate -l 4G /swapfile
#如果 fallocate 不支持,可以用通用的创建方法
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
#4.设置正确权限
sudo chmod 600 /swapfile
#5.格式化成 swap
sudo mkswap /swapfile
#6.启用swap
sudo swapon /swapfile
#7.确认 swap 状态
swapon --show
free -h
#8.修改 /etc/fstab 保证重启自动挂载;添加如下内容: /swapfile swap swap defaults 0 0
sudo vi /etc/fstab

如果这篇文章对你有用,可以关注本人微信公众号获取更多ヽ(^ω^)ノ ~


浙公网安备 33010602011771号