導航:首頁 > 操作系統 > linux當前句柄數

linux當前句柄數

發布時間:2024-05-16 16:55:15

linux下面怎麼查詢某個進程正在使用的socket句柄數量

可以通過指令查詢當前進程打開了多少句柄,Linux下有exec函數族可以執行指令,把指令寫進去就行了。
-查看當前進程打開了多少句柄數
# lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more
-根據ID號來查看進程名。
# ps aef|grep ID號
滿意請採納。

② linux如何獲取磁碟的繁忙程度和打開的文件句柄數

磁碟繁忙程度一般用iostat看

可以從 /proc/sys/fs/file-nr,看到整個系統目前使用的文件句柄數量

查找文件句柄問題的時候,還有一個很實用的程序lsof.可以很方便看到某個進程開了那些句柄.也可以看到某個文件/目錄被什麼進程佔用了

③ linux 文件句柄數高怎麼解決

打開文件做文件操作後請及時釋放文件句柄。
檢查一下有哪些文件操作,哪些操作完成後沒有釋放文件句柄。

④ Linux之文件句柄

ulimit:


1,查看進程允許打開的最大文件句柄數


ulimit -n


2,設置進程能打開的最大文件句柄數


ulimit -n xxx


-H 指定資源的硬限制


-S 指定資源的軟限制


hard 代表當前硬限制


soft 代表當前軟體限制


unlimited 代表不限制.


3, 文件限制配置文件


/etc/security/limits.conf



4,文件句柄最大數據配置


配置文件:/proc/sys/fs/file-max


這個參數的默認值和內存大小有氏談早關系,可以使用公式:file-max 內存大小/ 10k.


4.1 建議將整個系統的文件句柄值至少設置為 65536


4.2 echo "65536" > /proc/sys/fs/file-max


4.3 sysctl -w fs.file-max=65536


4.4 echo "fs.file-max=65536" >> /etc/sysctl.conf



5,文件句柄使用情況配置文件:/proc/sys/fs/file-nr



這三個值分別指:系統已經分配出去的句柄數、已經分配但是還沒有使用的句柄數以及系統最大的句柄數殲雀(和file-max一侍滾樣)。


6,查看進程打開的文件句柄數


lsof:列出當前系統打開文件的工具。


⑤ 如何查看LINUX單進程能夠打開的最大文件句柄數

在Linux下,我們使用ulimit -n 命令可以看到單個進程能夠打開的最大文件句柄數量(socket連接也算在裡面)。系統默認值1024。
對於一般的應用來說(象Apache、系統進程)1024完全足夠使用。但是如何象squid、mysql、java等單進程處理大量請求的應用來說就有 點捉襟見肘了。如果單個進程打開的文件句柄數量超過了系統定義的值,就會提到「too many files open」的錯誤提示。如何知道當前進程打開了多少個文件句柄呢?下面一段小腳本可以幫你查看:
lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr|more
在系統訪問高峰時間以root用戶執行上面的腳本,可能出現的結果如下:
# lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr|more
131 24204
57 24244
57 24231
56 24264
其中第一行是打開的文件句柄數量,第二行是進程號。得到進程號後,我們可以通過ps命令得到進程的詳細內容。
ps -aef |grep 24204
mysql 24204 24162 99 16:15 ? 00:24:25 /usr/sbin/mysqld
哦,原來是mysql進程打開最多文件句柄數量。但是他目前只打開了131個文件句柄數量,遠遠底於系統默認值1024。
但是如果系統並發特別大,尤其是squid伺服器,很有可能會超過1024。這時候就必須要調整系統參數,以適應應用變化。Linux有硬性限制和軟性限制。可以通過ulimit來設定這兩個參數。方法如下,以root用戶運行以下命令:
ulimit -HSn 4096
以上命令中,H指定了硬性大小,S指定了軟性大小,n表示設定單個進程最大的打開文件句柄數量。個人覺得最好不要超過4096,畢竟打開的文件句柄 數越多響應時間肯定會越慢。設定句柄數量後,系統重啟後,又會恢復默認值。如果想永久保存下來,可以修改.bash_profile文件,可以修改 /etc/profile 把上面命令加到最後。

⑥ 修改linux的最大文件句柄數限制

修改linux的最大文件句柄數限制對於一般的應用來說(象Apache、系統進程)1024完全足夠使用。但是如何象squid、mysql、java等單進程處理大量請求的應用來說就有點捉襟見肘了。如果單個進程打開的文件句柄數量超過了系統定義的值,就會提到too
many
files
open的錯誤提示。如何知道當前進程打開了多少個文件句柄呢?下面一段小腳本可以幫你查看:1lsof
-n
|awk
'{print
$2}'|sort|uniq
-c
|sort
-nr|more修改linux的最大文件句柄數限制的方法:
1)ulimit
-n
65535
在當前session有效,用戶退出或者系統重新後恢復默認值
2)修改profile文件:在profile文件中添加:ulimit
-n
65535
只對當個用戶有效
3)修改文件:/etc/security/limits.conf,在文件中添加:(立即生效-當前session中運行ulimit
-a命令無法顯示)[html]
*
soft
nofile
32768
#限制單個進程最大文件句柄數(到達此限制時系統報警)
*
hard
nofile
65536
#限制單個進程最大文件句柄數(到達此限制時系統報錯)
4)修改文件:/etc/sysctl.conf。在文件中添加:[html]
fs.file-max=655350
#限制整個系統最大文件句柄數
運行命令:/sbin/sysctl
-p
使配置生效

⑦ linux下面怎麼查詢某個進程正在使用的socket句柄數量

一般來說,單個進程,最大文件句柄數(包括socket套接字)是1024,這個是默認值,可以用ulimit修改。不知道你是不是問的這個東西。

閱讀全文

與linux當前句柄數相關的資料

熱點內容
單片機流水燈原理圖 瀏覽:166
程序員被稱作什麼物種 瀏覽:53
華意壓縮機是長虹 瀏覽:647
張家港軟體數控編程好不好 瀏覽:967
張天德pdf 瀏覽:267
安卓手機怎麼連接塞班 瀏覽:569
php問號表達式 瀏覽:381
單片機紅外遙控器 瀏覽:802
linuxdhcpserver 瀏覽:596
人工智慧編程有哪些技能 瀏覽:221
數據結構演算法背包問題 瀏覽:875
javahttps加密 瀏覽:473
android監聽wifi切換 瀏覽:79
phpexcel插件 瀏覽:143
cf怎麼登錄伺服器 瀏覽:540
微信好友加密被鎖怎麼辦 瀏覽:749
電腦版本pdf 瀏覽:722
安卓上傳圖片php 瀏覽:820
python爬蟲怎麼爬取網頁 瀏覽:111
人人影視字幕組手機app怎麼用 瀏覽:851