Linux下/var/spool/clientmqueue空間不足的解決
今天收到一封報警郵件,內容如下:
------------------------------------
首先到目錄下檢視df -h的時候,空間剩餘9%,說明這個空間還在不斷的收縮中。
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 7.8G 908M 6.5G 13% /
/dev/sda6 7.8G 6.7G 746M 91% /var
/dev/sda5 7.8G 2.0G 5.5G 27% /usr
/dev/sda1 122M 12M 104M 10% /boot
tmpfs 48G 36K 48G 1% /dev/shm
/dev/shm 48G 36K 48G 1% /tmp
/dev/sda7 497G 391G 81G 83% /home
然後在/var/spool/clientmqueue下發現了大量的檔案,絕大部分的空間消耗都在這兒。
隨便拿出一條來看看到底是什麼內容。發現是一個指令碼在檢查listener的日誌。
# more dfs32Ct1KE012443
Start: 20140402205501
checking listener listener ...OK
checking listener listener_1525 ...OK
checking listener listener_1528 ...OK
checking listener listener_1523 ...OK
checking listener listener_1522 ...OK
End: 20140402205516
進一步進行驗證,拿出最新的5個檔案,檢視檔案內容也是如此。
clientmqueue]# ls -lrt|tail -5
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:02 dft97221Lc010415
-rw-rw---- 1 oracle smmsp 919 Oct 7 10:03 qft97231cW026036
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:03 dft97231cW026036
-rw-rw---- 1 oracle smmsp 919 Oct 7 10:04 qft97241rm007778
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:04 dft97241rm007778
clientmqueue]# more dft97241rm007778
Start: 20151007100401
checking listener listener ...OK
checking listener listener_1525 ...OK
checking listener listener_1528 ...OK
checking listener listener_1523 ...OK
checking listener listener_1522 ...OK
End: 20151007100416
說明基本可以說明是因為檢查listener的指令碼產生了大量的日誌檔案。
因為這種日誌檔案對我們確實沒有太多的用處,可以考慮刪除,當然直接刪除還是會報錯誤的,可以慢慢分批刪除 ls|xargs -n 10 rm
刪除後空間馬上釋放出來了。釋放了近6G的檔案。
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 7.8G 908M 6.5G 13% /
/dev/sda6 7.8G 1.1G 6.4G 15% /var
/dev/sda5 7.8G 2.0G 5.5G 27% /usr
/dev/sda1 122M 12M 104M 10% /boot
tmpfs 48G 36K 48G 1% /dev/shm
/dev/shm 48G 36K 48G 1% /tmp
/dev/sda7 497G 391G 81G 83% /home
問題現在解決了,我們來看看問題是怎麼回事,對於crontab 中設定的job如果有輸出內容,這些內容會以mail的形式傳送給對應的cron job使用者,如果這個時候sendmail沒有啟動就會在這個路徑下產生這些日誌檔案。
首先抓取了最新的檔案內容。可以看到檔案生成的頻率很高,幾乎是每分鐘一個檔案。
clientmqueue]# ll
total 64
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:08 dft97281ag005351
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:09 dft97292uQ011260
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:12 dft972C1Xg025752
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:13 dft972D11d025507
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:14 dft972E1IS008404
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:15 dft972F1Oi023669
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:16 dft972G1Xr006590
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:17 dft972H1I8022068
-rw-rw---- 1 oracle smmsp 919 Oct 7 10:08 qft97281ag005351
-rw-rw---- 1 oracle smmsp 919 Oct 7 10:09 qft97292uQ011260
-rw-rw---- 1 oracle smmsp 919 Oct 7 10:12 qft972C1Xg025752
-rw-rw---- 1 oracle smmsp 919 Oct 7 10:13 qft972D11d025507
-rw-rw---- 1 oracle smmsp 919 Oct 7 10:14 qft972E1IS008404
-rw-rw---- 1 oracle smmsp 919 Oct 7 10:15 qft972F1Oi023669
-rw-rw---- 1 oracle smmsp 919 Oct 7 10:16 qft972G1Xr006590
-rw-rw---- 1 oracle smmsp 919 Oct 7 10:17 qft972H1I8022068
檢視crontab -l可以看到,檢查指令碼執行的頻率還是很高的。
2-9,12-29,31-59 * * * * . $HOME/.xxxxprofile;$HOME/dbadmin/scripts/lsnr_check.sh
對於listener的檢查,其實不需要這麼頻繁的監控,可以適當把頻率放慢一些,根據普遍的機器設定還是一個小時2次檢查。比如這樣設定:
9,39 * * * * . $HOME/.xxxxprofile;bash $HOME/dbadmin/scripts/lsnr_check.sh
日誌檔案清除了,日誌檔案的生成頻率也降低了,但是問題還是指標沒有治本。
對於這些檢查日誌,可以當做一個後臺任務,不需要每次檢查都生成大量的日誌,一種方式就是直接遮蔽日誌,比如設定為下面的形式。
9,39 * * * * . $HOME/.xxxxprofile;bash $HOME/dbadmin/scripts/lsnr_check.sh > /dev/null 2>&1
這樣這個問題的解決就告一段落了,可見一個很細小的變化經過長年累月的積累就會成為一個明顯的問題,監控中的設定頻率過高反而可能有潛在的問題。
------------------------------------
報警內容: Free disk space is less than 15% on volume /var
------------------------------------
報警級別: PROBLEM
------------------------------------
監控專案: Free disk space on /var (percentage):10 %
------------------------------------
報警時間:2015.10.07-09:56:24
首先到目錄下檢視df -h的時候,空間剩餘9%,說明這個空間還在不斷的收縮中。
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 7.8G 908M 6.5G 13% /
/dev/sda6 7.8G 6.7G 746M 91% /var
/dev/sda5 7.8G 2.0G 5.5G 27% /usr
/dev/sda1 122M 12M 104M 10% /boot
tmpfs 48G 36K 48G 1% /dev/shm
/dev/shm 48G 36K 48G 1% /tmp
/dev/sda7 497G 391G 81G 83% /home
然後在/var/spool/clientmqueue下發現了大量的檔案,絕大部分的空間消耗都在這兒。
隨便拿出一條來看看到底是什麼內容。發現是一個指令碼在檢查listener的日誌。
# more dfs32Ct1KE012443
Start: 20140402205501
checking listener listener ...OK
checking listener listener_1525 ...OK
checking listener listener_1528 ...OK
checking listener listener_1523 ...OK
checking listener listener_1522 ...OK
End: 20140402205516
進一步進行驗證,拿出最新的5個檔案,檢視檔案內容也是如此。
clientmqueue]# ls -lrt|tail -5
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:02 dft97221Lc010415
-rw-rw---- 1 oracle smmsp 919 Oct 7 10:03 qft97231cW026036
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:03 dft97231cW026036
-rw-rw---- 1 oracle smmsp 919 Oct 7 10:04 qft97241rm007778
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:04 dft97241rm007778
clientmqueue]# more dft97241rm007778
Start: 20151007100401
checking listener listener ...OK
checking listener listener_1525 ...OK
checking listener listener_1528 ...OK
checking listener listener_1523 ...OK
checking listener listener_1522 ...OK
End: 20151007100416
說明基本可以說明是因為檢查listener的指令碼產生了大量的日誌檔案。
因為這種日誌檔案對我們確實沒有太多的用處,可以考慮刪除,當然直接刪除還是會報錯誤的,可以慢慢分批刪除 ls|xargs -n 10 rm
刪除後空間馬上釋放出來了。釋放了近6G的檔案。
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 7.8G 908M 6.5G 13% /
/dev/sda6 7.8G 1.1G 6.4G 15% /var
/dev/sda5 7.8G 2.0G 5.5G 27% /usr
/dev/sda1 122M 12M 104M 10% /boot
tmpfs 48G 36K 48G 1% /dev/shm
/dev/shm 48G 36K 48G 1% /tmp
/dev/sda7 497G 391G 81G 83% /home
問題現在解決了,我們來看看問題是怎麼回事,對於crontab 中設定的job如果有輸出內容,這些內容會以mail的形式傳送給對應的cron job使用者,如果這個時候sendmail沒有啟動就會在這個路徑下產生這些日誌檔案。
首先抓取了最新的檔案內容。可以看到檔案生成的頻率很高,幾乎是每分鐘一個檔案。
clientmqueue]# ll
total 64
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:08 dft97281ag005351
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:09 dft97292uQ011260
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:12 dft972C1Xg025752
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:13 dft972D11d025507
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:14 dft972E1IS008404
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:15 dft972F1Oi023669
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:16 dft972G1Xr006590
-rw-rw---- 1 oracle smmsp 228 Oct 7 10:17 dft972H1I8022068
-rw-rw---- 1 oracle smmsp 919 Oct 7 10:08 qft97281ag005351
-rw-rw---- 1 oracle smmsp 919 Oct 7 10:09 qft97292uQ011260
-rw-rw---- 1 oracle smmsp 919 Oct 7 10:12 qft972C1Xg025752
-rw-rw---- 1 oracle smmsp 919 Oct 7 10:13 qft972D11d025507
-rw-rw---- 1 oracle smmsp 919 Oct 7 10:14 qft972E1IS008404
-rw-rw---- 1 oracle smmsp 919 Oct 7 10:15 qft972F1Oi023669
-rw-rw---- 1 oracle smmsp 919 Oct 7 10:16 qft972G1Xr006590
-rw-rw---- 1 oracle smmsp 919 Oct 7 10:17 qft972H1I8022068
檢視crontab -l可以看到,檢查指令碼執行的頻率還是很高的。
2-9,12-29,31-59 * * * * . $HOME/.xxxxprofile;$HOME/dbadmin/scripts/lsnr_check.sh
對於listener的檢查,其實不需要這麼頻繁的監控,可以適當把頻率放慢一些,根據普遍的機器設定還是一個小時2次檢查。比如這樣設定:
9,39 * * * * . $HOME/.xxxxprofile;bash $HOME/dbadmin/scripts/lsnr_check.sh
日誌檔案清除了,日誌檔案的生成頻率也降低了,但是問題還是指標沒有治本。
對於這些檢查日誌,可以當做一個後臺任務,不需要每次檢查都生成大量的日誌,一種方式就是直接遮蔽日誌,比如設定為下面的形式。
9,39 * * * * . $HOME/.xxxxprofile;bash $HOME/dbadmin/scripts/lsnr_check.sh > /dev/null 2>&1
這樣這個問題的解決就告一段落了,可見一個很細小的變化經過長年累月的積累就會成為一個明顯的問題,監控中的設定頻率過高反而可能有潛在的問題。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-1813438/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux教程:管理/var/spool/clientmqueue/下的大檔案LinuxclientMQ
- 【Linux】/var/spool/clientmqueue 佔滿根目錄LinuxclientMQ
- nagios提示linux主機磁碟空間不足,清空/var/spool/mail/rootiOSLinuxAI
- /var/spool/clientmqueue/目錄下存在大量檔案的原因及解決方法clientMQ
- /var/spool/clientmqueue 下生成太多檔案處理clientMQ
- UNDO表空間不足解決方法
- swap空間不足問題解決
- Linux伺服器目錄空間不足解決措施Linux伺服器
- TEMP表空間不足解決 - temp group
- Linux 中 /var/spool/postfix/maildropLinuxAI
- 關於STM8空間不足的解決方法
- 如何解決 Linux 中“磁碟空間不足”的問題Linux
- 解決系統盤空間不足的不二法寶
- LINUX下ORACLE軟體、資料檔案等所在的磁碟分割槽空間不足的解決思路LinuxOracle
- 安裝ORACLE db /tmp空間不足解決辦法Oracle
- [Linux日記]解決Ubuntu升級出現/boot空間不足問題LinuxUbuntuboot
- win8 C盤空間不足的幾種解決方法
- centos 老出現You have new mail in /var/spool/mail/root 解決CentOSAI
- 救命神文!應對ubuntu磁碟空間不足(已解決)Ubuntu
- LinkD,解決系統盤空間分配不足的好東西
- Rman增量壓縮備份來解決備份空間不足
- 雲伺服器空間不足如何解決?伺服器
- 主備庫切換以解決主庫儲存空間不足
- db2解決load後系統空間不足問題DB2
- 去掉linux中"You have new mail in /var/spool/mail/root"的提示LinuxAI
- Excel 2003記憶體或磁碟空間不足的解決方法Excel記憶體
- 解決linux下刪除檔案或oracle表空間後空間不釋放的問題LinuxOracle
- C盤空間莫名其妙變小怎麼辦 C盤空間不足的解決辦法
- ASM磁碟組空間不足ASM
- Oracle歸檔空間不足,delete archivelog all;命令失效時解決方法OracledeleteHive
- You have new mail in /var/spool/mail/rootAI
- Ubuntu空間不足,如何擴容Ubuntu
- LINUX下安裝ORACLE時SWAP不足的兩種解決方法LinuxOracle
- system表空間不足的問題分析
- 恆訊科技講解:空間不足,香港雲伺服器怎麼加空間?伺服器
- IBM TSM排程程式出現資料庫空間不足的解決辦法IBM資料庫
- Linux空間不足怎麼辦?磁碟滿了如何清理?Linux
- 詳解升級win10系統提示系統盤剩餘空間不足的解決方法Win10