测试环境服务器硬盘塞满问题排查

项目中出现的问题

文章出处java

某天下午测试环境服务器出现tab没法补全命令,给出的提示大概意思就是说,无可用空间没法建立临时文件,不过此次跟上次出现的问题比较像,上次服务器出现的问题,所以楼主判断多是服务器数据盘被占满,果不其然,使用df -h命令看到服务器数据盘出现100%被占用的状况。linux

问题排查过程

楼主首先想到的是能够看到,linux系统中占用数据盘最大的文件,常状况下,最有可能找出占用磁盘空间文件或文件夹的地方,主要是 /tmp or /var or /home or /。 目前没有单个命令来完成查找的工做,一般可使用一些命令的组合来帮助您找出磁盘上比较占用空间的文件或者文件夹。主要用到下面的三个命令:nginx

  • du : 计算出单个文件或者文件夹的磁盘空间占用.
  • sort : 对文件行或者标准输出行记录排序后输出.
  • head : 输出文件内容的前面部分.

用下面的命令组合就能够完成上述查找工做:git

du -h / | sort -n -r | head -n 10
复制代码

上述命令的含义就是查找/目录下按照大小排序占用磁盘空间最大的10个文件。github

若是须要输出可读性更高的内容,请使用以下命令:bash

du -hsx * | sort -rh | head -10
复制代码

ok,到此为止问题华华丽丽的解决了,很开心哦。服务器

分享一个命令的使用

lsof -i

在使用Linux系统的过程当中,有时候会遇到端口被占用而致使服务没法启动的状况。好比HTTP使用80端口,但当启动Nginx时,却发现此端口正在使用。测试

这种状况大多数是因为软件冲突、或者默认端口设置不正确致使的,此时须要查看究竟哪一个进程占用了端口,来决定进一步的处理方法。spa

通常状况下查看某一端口的占用状况的用法是: lsof -i:端口号 例如查看80端口的使用状况.net

lsof -i:80
COMMAND  PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
java    7464   root  272u  IPv6 7111192      0t0  TCP 192.168.201.8:45616->192.168.201.8:http (CLOSE_WAIT)
nginx   7555   root    7u  IPv4 7110265      0t0  TCP *:http (LISTEN)
nginx   7556 nobody    7u  IPv4 7110265      0t0  TCP *:http (LISTEN)
java    7573   root  210u  IPv6 7110330      0t0  TCP 192.168.201.8:45422->192.168.201.8:http (CLOSE_WAIT)
java    7602   root  140u  IPv6 7111090      0t0  TCP 192.168.201.8:45412->192.168.201.8:http (CLOSE_WAIT)
复制代码

结束该端口的占用能够会用kill pid的方法。

相关文章
相关标签/搜索