Linux磁盘满解决方法

1. Linux服务器磁盘经常占满,使用命令df -h查看哪些磁盘被占满了

df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda2        35G   34G 1G    98% /
devtmpfs         16G     0   16G   0% /dev
tmpfs            16G   12K   16G   1% /dev/shm
tmpfs            16G  1.6G   15G  11% /run
tmpfs            16G     0   16G   0% /sys/fs/cgroup
/dev/vda1       477M   92M  356M  21% /boot
/dev/vdb1       197G  171G   16G  92% /data
tmpfs           3.2G     0  3.2G   0% /run/user/1064
tmpfs           3.2G     0  3.2G   0% /run/user/0
tmpfs           3.2G     0  3.2G   0% /run/user/1061
tmpfs           3.2G     0  3.2G   0% /run/user/1000

从上面看/dev/vda2占用98%,这个磁盘指的是Linux除下面所有磁盘中剩余的磁盘空间, 主要的有 /usr /home /opt等

比如/usr可以cd 到该目录,看下占用空间 

du -sh 查看总文件夹的大小

du -sh * 查看当前目录下所有文件夹占用大小

[root@a...usr]# du -sh
1.6G	.
[root@alta1-web-1 usr]# du -sh *
100M	bin
4.0K	etc
4.0K	games
22M	include
316M	java
379M	lib
152M	lib64
62M	libexec
124M	local
40M	sbin
337M	share
67M	src
0	tmp

使用 du -sh * | sort -nr | head 查看占用空间最大的

不过有时候占用空间其实并不大, 但是地df -h显示占用空间很大,绝大多数原因是

此服务器上有写日志的操作,在写的同时把要写入的文件删除了。。因为在写操作不能创建文件的时候会写硬盘的block,这样会使硬盘利用率越来越低,可以使用lsof -n |grep delete 来查看哪些进程在对磁盘进行写操作。

一般都是程序打开了已经删除的文件,导致磁盘未释放该文件。lsof|grep delete之后kill掉该进程,或者直接重启

[root@alta1-tools-web-1 /]# lsof -n |grep delete
superviso    2508                root    3w      REG              253,2    17154032    2097734 /tmp/supervisord.log (deleted)
superviso    2508                root    7r      REG             253,17    52512427    9701530 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root    8r      REG             253,17    52512427    9701530 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   13r      REG             253,17    52512427    9701530 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   15r      REG             253,17    52512427    9701530 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   17r      REG             253,17    52512427    9701530 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   18r      REG             253,17    52512427    9701530 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   20r      REG             253,17    52512427    9701530 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   21r      REG             253,17    52512427    9701530 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   22r      REG             253,17    52512427    9701530 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   26r      REG             253,17    52512427    9701530 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   27r      REG             253,17    52512427    9701530 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   28r      REG             253,17    52512427    9701530 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   29r      REG             253,17    52512427    9701530 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   30r      REG             253,17    52512427    9701530 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   31r      REG             253,17    52512427    9701530 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   32r      REG             253,17    52512427    9701530 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   33r      REG             253,17    52512427    9701530 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   34r      REG             253,17    52512427    9701530 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   35r      REG             253,17    52512427    9701530 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   36r      REG             253,17    52512427    9701530 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   38r      REG             253,17    52429432    9703334 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   41r      REG             253,17    52430714    9752748 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   43r      REG             253,17    52430714    9752748 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   50r      REG             253,17    52428907    9706087 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   51r      REG             253,17    52428907    9706087 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
superviso    2508                root   52r      REG             253,17    52428907    9706087 /data/log/atfcapi.driller/supervisord.log.10 (deleted)
gunicorn   444026                root    6u      REG              253,2           0    2097163 /tmp/wgunicorn-McPYB0 (deleted)
gunicorn   444026                root    7u      REG              253,2           0    2097258 /tmp/wgunicorn-4w2MSH (deleted)
gunicorn   444026                root    9u      REG              253,2           0    2097164 /tmp/wgunicorn-gxui49 (deleted)
gunicorn   444026                root   10u      REG              253,2           0    2097234 /tmp/wgunicorn-aag4Xx (deleted)
kill掉以后再查看df -h占用率 发现占用率大大下降
### 回答1: 当Linux磁盘了时,可以采取以下措施来解决: 1. 删除不必要的文件或目录,释放磁盘空间。 2. 使用磁盘清理工具,如du和df命令,查看磁盘使用情况,找出占用空间较大的文件或目录。 3. 移动一些文件到其他磁盘或存储设备中,以释放磁盘空间。 4. 压缩一些文件或目录,以减小它们的占用空间。 5. 扩大磁盘容量,可以添加新的硬盘或扩展现有的磁盘容量。 总之,当Linux磁盘了时,需要及时采取措施来解决,以避免对系统的正常运行造成影响。 ### 回答2: 在 Linux 中,当磁盘空间不足时,我们需要采取一些措施来解决这个问题。以下是一些建议: 1.查找大文件:使用命令“du -sh *”来查找占用磁盘空间最大的文件或目录。然后决定是否删除或移动这些文件。 2.删除日志文件:许多应用程序在运行期间会生成大量的日志文件。可以使用命令“ls -lh /var/log/”来查找和删除较旧的日志文件。 3.清空回收站:如果您有一个回收站管理器来存储已删除文件,可以使用命令“rm -rf ~/.local/share/Trash/*”来清空回收站并释放储存空间。 4.删除不必要的程序:检查系统中安装的所有软件,并删除那些不再需要的程序。可以使用命令“sudo apt-get autoremove”来删除不必要的软件。 5.使用压缩技术:如果您有多个文档或文件,可以使用压缩技术将它们压缩成单个文件。这可以帮助节省一些储存空间。 6.删除缓存:使用命令“sudo apt-get clean”来清除所有旧的软件包,这可以释放一些磁盘空间。 7.扩展磁盘:如果以上的方法仍然无法解决问题,您可以考虑扩展磁盘空间。有几个方法可以增加磁盘空间,包括添加新的磁盘驱动器或调整分区大小。 需要注意的是,操作前要备份重要数据,并总是小心操作。 ### 回答3: 当Linux系统中的磁盘空间已时,需要及时采取行动,否则会导致系统崩溃或者文件丢失。以下是解决Linux磁盘方法: 1. 查找可删除的文件:使用命令df -h 可以查看文件系统的空间使用情况,找出哪些文件占用了最多的空间。使用命令du -h --max-depth=1 / |sort -rn可找出在根文件夹下最大的文件,然后删除它们或者将它们移到其他磁盘。 2. 清空日志文件:系统日志是文本文件,会随着时间不断增大,占用大量的磁盘空间。使用命令rm /var/log/*可清空所有的日志文件,并重启syslog服务(service syslog restart)。 3. 缩小数据库:如果系统使用了数据库,将数据库的日志和缓存文件移动到其他磁盘,将其压缩和优化,以缩小数据库文件的大小。 4. 清空缓存:使用sync命令刷新缓存,将没有使用的缓存清除掉,可以释放磁盘空间。 5. 调整文件上传和备份策略:限制上传文件的大小,并定期备份和清理过期的备份数据,防止文件批量保存至服务器。 总之,当Linux系统的磁盘空间已时,应该先清理一些占用空间大的文件,然后再进行其他的操作,如清空日志文件、缩小数据库等。在日常工作中,还要注意对文件上传和备份策略进行适当的调整,以避免磁盘空间不足的情况发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值