我有一个vps切片运行centos 5.5我应该有15演出的磁盘空间,但根据df它似乎加倍我的磁盘空间使用.
当我以/ root身份运行du -skh *时,我得到:
[root@yardvps1 /]# du -skh *
0 aquota.group
0 aquota.user
5.2M bin
4.0K boot
4.0K dev
4.9M etc
2.5G home
12M lib
14M lib64
4.0K media
4.0K mnt
299M opt
0 proc
692K root
23M sbin
4.0K selinux
4.0K srv
0 sys
48K tmp
2.0G usr
121M var
但是,当我运行df我得到:
[root@yardvps1 /]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/simfs 15728640 11659048 4069592 75% /
none 262144 4 262140 1% /dev
它显示我已经使用了近12场演出.
造成这种差异的原因是什么,我可以做些什么,我根据15场演出计划了服务器,但现在它基本上只让我有大约7演出的东西.
谢谢.
最佳答案
导致此效果的最常见原因是已删除的打开文件.
原文链接:https://www.f2er.com/linux/440560.html如果删除的文件在删除时未被使用,则内核将仅释放已删除文件的磁盘块.否则,这将延迟到文件关闭或系统重新启动.
确保不留下临时文件的常见Unix世界技巧如下:
>进程创建并打开临时文件
>在保持打开文件描述符的同时,该过程取消链接(即删除)文件
>该进程通常使用文件描述符读取和写入文件
>进程完成后关闭文件描述符,内核释放空间
>如果进程(或系统)意外终止,则临时文件已被删除,无需进行清理.
>作为奖励,删除文件可以减少在创建临时文件时命名冲突的可能性,并且还为正在运行的进程提供额外的隐藏层 – 对于除root用户之外的任何人,即.
此行为可确保进程不必处理突然从脚下拉出的文件,并且进程不必相互协商以删除文件.但是,对于来自Windows系统的人来说,这是一种意外的行为,因为通常不允许删除正在使用的文件.
当以root身份运行时,lsof命令将显示所有打开的文件,它将专门指示已删除的已删除文件:
# lsof 2>/dev/null | grep deleted
bootlogd 2024 root 1w REG 9,3 58 917506 /tmp/init.0W2ARi (deleted)
bootlogd 2024 root 2w REG 9,3 58 917506 /tmp/init.0W2ARi (deleted)
停止并重新启动有罪进程,或者只是重新启动服务器应解决此问题.
例如,如果它是挂载的文件系统映像,则内核也可以保持打开已删除的文件.在这种情况下,卸载文件系统或重新启动服务器应该可以解决问题.
在您的情况下,根据“缺失”空间的大小判断,我会查找您用于设置VPS的文件的任何引用,例如安装后删除的Centos DVD映像.