删除文件后,磁盘可用空间并没有释放怎么办?
我们部分服务器的根文件系统只预留了50G空间,并且常用于调试的/var目录并未 挂载到单独的磁盘上而是共享这50G。那么 过多的打印信息或crash就会造成根目 录可用空间不够。但是删除大文件后,磁盘可用空间可能不会增大。
下面以删除存放系统log信息的message为例:
# rm /var/log/messages
# df / -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_openstack-lv_root 50G 50G 0 100% /
从上面看,磁盘空间并没有释放。这是因为该文件可能被某进程访问中。通过下面 的方式可以查看打开该文件的进程:
# lsof | grep message
rsyslogd 20068 root 1w REG 253,0 212 1835497 /var/log/messages (deleted)
停掉运行该进程服务后,空间就释放出来了。
# service rsyslog stop
Shutting down system logger: [ OK ]
# df / -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_openstack-lv_root 50G 42G 5.4G 89% /
如果还想要记录系统信息,别忘了再启动该服务。
# service rsyslog start
Starting system logger: [ OK ]
下面以删除存放系统log信息的message为例:
# rm /var/log/messages
# df / -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_openstack-lv_root 50G 50G 0 100% /
从上面看,磁盘空间并没有释放。这是因为该文件可能被某进程访问中。通过下面 的方式可以查看打开该文件的进程:
# lsof | grep message
rsyslogd 20068 root 1w REG 253,0 212 1835497 /var/log/messages (deleted)
停掉运行该进程服务后,空间就释放出来了。
# service rsyslog stop
Shutting down system logger: [ OK ]
# df / -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_openstack-lv_root 50G 42G 5.4G 89% /
如果还想要记录系统信息,别忘了再启动该服务。
# service rsyslog start
Starting system logger: [ OK ]