天天看點

centos網卡發送被占滿了_CentOS7排查并解決伺服器硬碟被占滿的問題

今早正在愉快地使用Flutter開發用戶端的時候,突然發現所有接口都使用不了了,覺得很奇怪,伺服器上什麼都沒有動怎麼突然不行了呢?

于是登入CentOS伺服器檢視Spring Boot服務的日志,發現了以下異常:

1

2

3

4org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is java.lang.IllegalStateException: Unable to create the directory [/tmp/tomcat.1964230947136987004.8000] to use as the base directory

at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:157)

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)

at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142)

哦,原來是Tomcat無法建立它的臨時工作目錄了。

于是就執行

1df -h

查了一下伺服器的硬碟資訊:

1

2

3

4

5

6

7Filesystem Size Used Avail Use% Mounted on

/dev/vda1 99G 94G 0 100% /

devtmpfs 7.8G 0 7.8G 0% /dev

tmpfs 7.8G 0 7.8G 0% /dev/shm

tmpfs 7.8G 532K 7.8G 1% /run

tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup

tmpfs 1.6G 0 1.6G 0% /run/user/1000

果然!根目錄下使用率100%,硬碟被占滿了!這是個嚴重的問題,不過該怎麼排查哪些檔案占用的空間呢?查了一番資料,發現使用下面指令可以一層層的跟蹤排查:

1du -x -m --max-depth 1 /

先從根目錄開始:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16[[email protected] log]# du -x -h -m --max-depth 1 /

5 /tmp

4104 /root

668 /opt

1 /media

55960 /var

708 /WWW

1 /srv

38 /etc

2544 /home

27338 /data

1 /mnt

214 /boot

4115 /usr

1 /lost+found

95687 /

OK,發現/var目錄占用最多,于是就懷疑是日志檔案的問題,因為系統日志都在/var目錄下。接着進入/var/log目錄,執行指令确定一下:

1ll -h

果然,全部都是日志檔案占用的空間:

1

2

3

4

5-rw------- 1 root root 6.8G Oct 10 11:22 messages

-rw------- 1 root root 7.9G Sep 15 03:33 messages-20190915

-rw------- 1 root root 9.9G Sep 22 03:37 messages-20190922

-rw------- 1 root root 11G Sep 29 03:11 messages-20190929

-rw------- 1 root root 11G Oct 6 03:49 messages-20191006

也可以執行指令檢視目錄所占的空間:

1du -sh *

伺服器一共就100G的存儲空間,卻被這些日志檔案占去了一大半,檢視了一下内容,發現大部分都是伺服器上的定時任務的資訊,因為定時任務非常頻繁,而且列印的資訊量比較大,看着這塊要優化一下了。

先把這些日志删除一下,保證服務正常:

1rm messages*

删除後,啟動伺服器,一切終于正常了!