使用vesta管理vps时,有时候会出现服务器无响应,网页打不开的情况,此时重启apache或许可以短时间恢复正常,但原因可能在于log文件过大占用系统空间导致无法访问。
那么问题来了,如何在SSH查看文件大小?
显示当前目录所有文件大小的命令
ls -lht
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。du可以查看文件及文件夹的大小。两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
cd / df -h du -h --max-depth=1 /var/logs/ du -h --max-depth=1 /var/logs/* du -s * | sort -nr | head
du 统计文件大小相加
df 统计数据块使用情况
如果有一个进程在打开一个大文件的时候,这个大文件直接被rm 或者mv掉,则du会更新统计数值,df不会更新统计数值,还是认为空间没有释放。直到这个打开大文件的进程被Kill掉。
如此一来在定期删除 /var/spool/clientmqueue下面的文件时,如果没有杀掉其进程,那么空间一直没有释放。
使用下面的命令杀掉进程之后,系统恢复。
fuser -u /var/spool/clientmqueue