檢視各個分割槽的控制代碼數
df -ih
檢視控制代碼最大數
ulimit -n
檢視23711程序連線控制代碼數
lsof -n|awk ''|sort|uniq -c|sort -nr|more |grep 23711
檢視所有程序控制代碼數
lsof -n|awk ''|sort|uniq -c|sort -nr|more第一列是控制代碼數,第二列是pid
檢視連線狀態
netstat -an
lsof -i
檢視某個執行緒號的詳細資訊。
ps -aef|grep 24204
沒有釋放控制代碼占用的檔案存放路徑
用root許可權登入 cd /proc
ls 會顯示當前所有程序號命名的目錄
找到對應程序進入
cd fd
ls閃爍的為被標記為deleted的檔案。
產生沒有釋放控制代碼的原因: 第一線程開啟檔案。另乙個執行緒將該檔案刪除。就會出現給問題。將整兒程序kill掉才能釋放全部控制代碼。
我的根目錄的inode節點滿了,沒辦法只有自己來看看[root@master~]# df -i
filesysteminodesiusedifreeiuse%mountedon
/dev/sda3124032012403200100%/
tmpfs 126536 2 126534 1% /dev/shm
/dev/sda12568838256501%/boot
.host:/000-/mnt/hgfs
按照上面的lsof-n|awk''|sort|uniq-c|sort-n
我把靠後的程序給殺了,沒用,df -i 還是一樣的,繼續想別的辦法
我就只有乙個辦法了,那就是看看那個資料夾下的檔案最多,寫了個for迴圈來檢視[root@master/]# for i in `ls`;do find $i/ -type f|wc -l &&echo $i ;done
binboot
devetc
home
liblib64
lost+found
media
mntopt
find:「proc/2325/task/2325/fd/5」:沒有那個檔案或目錄
find:「proc/2325/task/2325/fdinfo/5」:沒有那個檔案或目錄
find:「proc/2325/fd/5」:沒有那個檔案或目錄
find:「proc/2325/fdinfo/5」:沒有那個檔案或目錄
proc
root
sbin
selinux
srvsys
tmpusr
乙個media佔了3w3乙個tmp佔了8w靠,但是多餘120w的還是微不足道,看看這兩個資料夾下都有什麼[root@master/]# du -sh tmp/
44ktmp/
[root@master/]# du -sh media/
4.0kmedia/
什麼都沒有,鬱悶了,先給刪了,再看看[root@master/]# df -i
filesysteminodesiusedifreeiuse%mountedon
/dev/sda3124032012403164100%/
tmpfs 126536 2 126534 1% /dev/shm
/dev/sda12568838256501%/boot
.host:/000-/mnt/hgfs
刪了但是只是增加了那麼一點點,估計不是他兩的問題,剛才的迴圈還沒結束,繼續想辦法
大目錄太慢,就進到下一層目錄試試看[root@mastervar]# for i in `ls /var`;do find $i/ -type f|wc -l &&echo $i ;done1
account
find:「cache/salt/master/jobs/7c/3238b58e45f242132dade0d989314a/.minions.p」:沒有那個檔案或目錄
find:「cache/salt/master/jobs/7c/3238b58e45f242132dade0d989314a/.load.p」:沒有那個檔案或目錄
find:「cache/salt/master/jobs/7c/3238b58e45f242132dade0d989314a/jid」:沒有那個檔案或目錄
find:「cache/salt/master/jobs/7c/f98bd5f094921b93d5435ea81b0414/.minions.p」:沒有那個檔案或目錄
find:「cache/salt/master/jobs/7c/f98bd5f094921b93d5435ea81b0414/.load.p」:沒有那個檔案或目錄
find:「cache/salt/master/jobs/7c/f98bd5f094921b93d5435ea81b0414/jid」:沒有那個檔案或目錄
find:「cache/salt/master/jobs/7c/afa7d7cf12cedd5e2f121536749ded/.minions.p」:沒有那個檔案或目錄
find:「cache/salt/master/jobs/7c/afa7d7cf12cedd5e2f121536749ded/.load.p」:沒有那個檔案或目錄
find:「cache/salt/master/jobs/7c/afa7d7cf12cedd5e2f121536749ded/jid」:沒有那個檔案或目錄
find:「cache/salt/master/jobs/7c/2f0ced419e95aff3fd0940303ed101/master/return.p」:沒有那個檔案或目錄
find:「cache/salt/master/jobs/7c/2f0ced419e95aff3fd0940303ed101/master/out.p」:沒有那個檔案或目錄
find:「cache/salt/master/jobs/7c/2f0ced419e95aff3fd0940303ed101/.minions.p」:沒有那個檔案或目錄
find:「cache/salt/master/jobs/7c/2f0ced419e95aff3fd0940303ed101/.load.p」:沒有那個檔案或目錄
find:「cache/salt/master/jobs/7c/2f0ced419e95aff3fd0940303ed101/jid」:沒有那個檔案或目錄
find:「cache/salt/master/jobs/7c/c8ad7fa07b55ceaf9dd4f1fa068ee4/.minions.p」:沒有那個檔案或目錄
find:「cache/salt/master/jobs/7c/c8ad7fa07b55ceaf9dd4f1fa068ee4/.load.p」:沒有那個檔案或目錄
find:「cache/salt/master/jobs/7c/c8ad7fa07b55ceaf9dd4f1fa068ee4/jid」:沒有那個檔案或目錄
丫的終於找到了你了,果斷刪除就行了
fd 控制代碼 如何檢測無效的fd 控制代碼
我有乙個伺服器應用程式,它使用非同步i o處理網路客戶端.接受客戶端連線,然後將其新增到描述符集,該描述符集可以使用poll epoll select etc進行監視.我正在使用apr pollset poll apache apr庫呼叫來檢查可以讀取或寫入的描述符.這在內部使用epoll poll...
linux控制代碼洩露問題檢視
檢視與修改控制代碼 在linux系統中可以通過ulimit n檢視每個程序限制的最大控制代碼數,通過ulimit hsn 10240修改程序的最大控制代碼數。當控制代碼數目達到限制後,就回出現 too many files open 檢視程序占用的控制代碼數有幾種辦法 1 通過cat proc pi...
linux控制代碼
1.控制代碼就是乙個識別符號,只要獲得物件的控制代碼,我們就可以對物件進行任意的操作。2.控制代碼不是指標,作業系統用控制代碼可以找到一塊記憶體,這個控制代碼可能是識別符號,map的key,也可能是指標,看作業系統怎麼處理的了。fd算是在某種程度上替代控制代碼吧 linux 有相應機制,但沒有統一的...