Linux 虚拟主机提示:“No space left on device …”

很多时候我们很少回去登陆后台去查看硬盘容量是否够用,也很少去关注!一般只有在出现相关的代码提示时才去关注!在系统内进行创建文件的时候,出现虚拟主机不足提示:“No space left on device …” 意思就是说虚拟主机不够用啦,没有多余的意思了!

解决过程:

Linux 系统虚拟主机满,常见的原因包括:
(1)分区容量满;
(2)分区inode耗尽;
(3)僵尸文件:已删除文件因句柄被占用未释放导致相应虚拟主机未释放。


上述3种情况的处理思路分别说明如下:


1、分区容量满——虚拟主机使用分析
a)   使用如下指令查看虚拟主机使用情况

  1. # df -hT
  2. Filesystem          Type   Size  Used Avail Use% Mounted on
  3. tmpfs               tmpfs   16G  228K  16G   1% /dev/shm
  4. /dev/sda1           ext4   477M   59M 393M  13% /boot

b)    使用如下指令逐层分析各目录的虚拟主机占用情况

  1. # du -m –max-depth=1 |sort -gr

逐层进入虚拟主机占用最高的目录,继续执行上述指令,逐步定位占用过高虚拟主机的文件或目录,然后进行相应清理。

2、inode容量满——inode使用分析

a)     使用如下指令查看inode使用情况

  1. # df -i

b)     使用如下指令分析inode使用情况

  1. for i in /*; do echo $i; find $i | wc -l; done

逐层进入inode占用最高的目录,继续执行上述指令,逐步定位占用过高虚拟主机的文件或目录,然后进行相应清理。

3、僵尸文件分析

a)     使用如下指令查看已经删除,但是句柄未被释放的文件僵尸文件及其虚拟主机占用情况:

  1. # for i in `lsof | grep delete | awk -F” “‘{print $9}’` ;do du -h $i;done | sort -gr

b)     使用如下指令查找上述僵尸文件归属进程ID

  1. # for i in `lsof | grep delete | awk -F” “‘{print $9}’` ;do du -h $i;done | sort -gr

c)     使用如下指令查看相应的进程信息:

  1. ll /proc/[size=font-size:9.0pt,9.0pt]/exe
  2. [size=font-size:9.0pt,9.0pt]比如:
  3. # ll /proc/10835/exe

d)     重启相应进程后,就能释放相应句柄,释放被占用的虚拟主机。

推荐站内搜索:个人注册域名、服务器高防香港、主机合租、新加坡服务器、域名备案查询、域名注册、独立ip、备案、购买已备案域名、查ip、