導航:首頁 > 操作系統 > 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當前句柄數相關的資料

熱點內容
pythonnumpy內積 瀏覽:780
linux硬碟模式 瀏覽:13
怎麼查安卓的空間 瀏覽:587
linux命令復制命令 瀏覽:115
勞動法裡面有沒有帶工資演算法的 瀏覽:456
如何在u盤里拷解壓軟體 瀏覽:689
oracle資料庫登陸命令 瀏覽:614
python自動化運維之路 瀏覽:400
eclipsejava教程下載 瀏覽:987
tita搜索app怎麼配置 瀏覽:263
oracle的連接命令 瀏覽:1002
基於單片機的恆溫水壺 瀏覽:884
鴻蒙系統文件夾怎麼換背景 瀏覽:296
b站動畫演算法 瀏覽:712
程序員每月還房貸 瀏覽:355
cad牆閉合命令 瀏覽:168
udp廣播可以找到本地伺服器地址 瀏覽:676
加密門卡手機如何復制門禁卡 瀏覽:266
夜鶯的PDF 瀏覽:707
地方資訊app如何推廣 瀏覽:756