① Unix如何查看用戶的最大文件句柄數及使用情況
linux系統如何查看修改最大打開文件數,這個問題對於很多剛剛學習linux的小夥伴來說覺得有點奇怪。Linux系統和windows不同之處在於更強的多任務多線程,由於文件系統結構的不同linux針對不同進程不同用戶都可以設置最打打開文件數。(如下圖,在設置某些配置文件的時候,會出現下圖提示超過系統最大打開文件數
工具/原料
Centos
Linux文件數打開數
查看當前系統最大的文件打開數,如下圖
在linux終端中輸入ulimit -a
「open files」參數選項後面的數值就是當前系統支持的最大打開文件數
修改linux最大文件打開數
如果要修改linux最大文件打開數,可以通過如下圖參數命令 unlimit -n 後面接需要設置的文件數量。
設置好之後,再次查看 unlimit -a 你會發現已經設置為新的數量了
設置好之後,再次編輯修改重啟設置的服務,已經沒有剛剛那個1024文件數限制的報錯提示
其他修改方法
除此之外,如果針對不同的用戶。也可以通過編輯修改 /etc/rc.local文件設置環境變數,添加 unlimit -n
如下圖,重啟之後一般就自動設置好了
查看系統句柄文件數
當前系統文件句柄的最大數目,只用於查看,不能設置修改
cat /proc/sys/fs/file-max
查看進程打開文件數
如果需要查看所有進程的文件打開數,如下圖命令lsof |wc -l
特別提醒:
對於做伺服器的linux系統來說,適當調整增加文件打開數量。可以加快服務性能,並且提供服務的連接線程數量。咗嚛提醒為了伺服器性能,建議也不要設置太大哈
② 如何修改進程的最大文件句柄數目
rez resources是「受控資源文件」,平台無關的(XML格式)的資源文件,是VB/C#使用的資源文件格式。可以存放點陣圖、子串和自定義數據等資源。 對rez文件右鍵,打開方式,選擇程序,鉤上始終有選擇的程序打開這種文件。
如果無效,打開「文件夾選項」對話框,在文件類型頁里,找到rez類型的項,把「打開」操作編輯一下,改為你想用的程序
==========================
沒有rez類型的話,在「文件夾選項」對話框「文件類型」頁里點「新建」,確定,再選中新建rez類型點「高級」,在新對話框內點「新建」,「操作」寫「打開」,瀏覽到你認為正確的程
③ linux下面怎麼查詢某個進程正在使用的socket句柄數量
可以通過指令查詢當前進程打開了多少句柄,Linux下有exec函數族可以執行指令內,把指令寫進去就行了。容
-查看當前進程打開了多少句柄數
# lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more
-根據ID號來查看進程名。
# ps aef|grep ID號
滿意請採納。
④ linux哪個進程打開的文件數最多
句柄數。
inux最大打開文件句柄數,即打開文件數最大限制,就是規定的塵虛單啟賀個進程能夠打開的最大文件句柄數,Socket連接也算在裡面,默認大小1024個。
Linux是一種免費使用和自由傳派旁燃播的類UNIX操作系統,是一個基於POSIX的多用戶、多任務、支持多線程和多CPU的操作系統。
⑤ 修改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之文件句柄
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:列出當前系統打開文件的工具。