6

Linux磁盘空间清理

 3 years ago
source link: https://maxyoung.fun//blog/Linux%E7%A3%81%E7%9B%98%E6%B8%85%E7%90%86.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Linux磁盘空间清理

https://help.aliyun.com/knowledge_detail/42531.html

阿里云服务器,操作系统为centos系统,收到报警磁盘空间使用率高达80%
通过下面的命令查看磁盘使用情况

[root@app2 /]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G   32G  6.0G  85% /
devtmpfs        3.9G     0  3.9G   0% /dev
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           3.9G   81M  3.8G   3% /run
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup

我们看到/dev/vda1使用率占到85%,我们查看一下/路径下的各文件的大小:

[root@app2 /]# cd /
[root@app2 /]# du -sh * | sort -h
0	./bin
65M	./boot
4.0K	./data
0	./dev
24M	./etc
2.5G	./home
0	./lib
0	./lib64
16K	./lost+found
4.0K	./media
4.0K	./mnt
8.0K	./opt
du: cannot access ‘./proc/4259/task/4259/fd/4’: No such file or directory
du: cannot access ‘./proc/4259/task/4259/fdinfo/4’: No such file or directory
du: cannot access ‘./proc/4259/fd/4’: No such file or directory
du: cannot access ‘./proc/4259/fdinfo/4’: No such file or directory
0	./proc
131M	./root
81M	./run
0	./sbin
4.0K	./srv
0	./sys
5.1M	./tmp
2.5G	./usr
220M	./var

磁盘使用总共只有几G,只有求助万能的google了,http://skyhome.cn/server/341.html

原因是,nginx再运行状态下,删除nginx日志时

  1. 当前access.log日志正在被apache进程占用。
  2. 通过rm命令删除access.log,实际只删除了文件名(该日志文件应用记数不为0,因此空间不会被释放)。
  3. 通过rm命令删除了access.log后,apache依然写日志到access.log中,当开启apache进程时,已经通过access.log定位到该文件的inode了,就是说再写日志是不通过access.log,因此即使删除了access.log,apache依然写日志到access.log所在的inode节点,所以导致硬盘空间增加。
  4. 因为删除了access.log,所以我们就找不到该文件了,du也查不到,就会出现硬盘满了但看不到究竟是哪些文件占用的。

解决办法:

kill掉nginx进程,然后重新启动

$ ps aux|grep nginx
$ kill <id>
$ /home/work/nginx/sbin/nginx

Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK