fd 控制代碼 Linux下檢視控制代碼

2021-10-17 01:55:57 字數 3482 閱讀 7503

檢視各個分割槽的控制代碼數

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 有相應機制,但沒有統一的...