當前位置:首頁 » 操作系統 » linux文件句柄數

linux文件句柄數

發布時間: 2022-11-08 16:41:44

Ⅰ 文件句柄數是什麼東東怎樣才能把linux的文件句柄數給消耗完(不修改文件)或者說有什麼工具模擬消耗

文件句柄那是windows的東西吧, linux下一般叫做文件描述符(File Descriptor), 使用ulimit -n可查看這個最大打開文件數限制. 只要你多次調用fopen,並且不調用fclose,很快就可以把它消耗完.不過這是對單個程序的限制.

Ⅱ 怎麼查看linux文件句柄數位置

---查看系統默認的最大文件句柄數,系統默認是1024
# ulimit -n
1024

----查看當前進程打開了多少句柄數
# lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more
131 24204
57 24244
57 24231 ........
其中第一列是打開的句柄數,第二列是進程ID。
可以根據ID號來查看進程名。
# ps aef|grep 24204
nginx24204 24162 99 16:15 ?00:24:25 /usr/local/nginx/sbin/nginx -s

Linux有硬性限制和軟性限制。可以通過ulimit來設定這兩個參數。方法如下,以root用戶運行以下命令:
# ulimit -HSn 4096
以上命令中,H指定了硬性大小,S指定了軟性大小,n表示設定單個進程最大的打開文件句柄數量。個人覺得最好不要超過4096,畢竟打開的文件句柄數越多響應時間肯定會越慢。設定句柄數量後,系統重啟後,又會恢復默認值。如果想永久保存下來,可以修改.bash_profile文件,可以修改 /etc/profile 把上面命令加到最後.

Ⅲ linux 句柄數代表打開文件數嗎

修改文件句柄數在Linux下,我們使用ulimit -n命令可以看到單個進程能夠打開的最大文件句柄數量(socket連接也算在裡面)。系統默認值1024。
對於一般的應用來說(象Apache、系統進程)1024完全足夠使用。但是如何象squid、mysqljava等單進程處理大量請求的應用來說就有點捉襟見肘了。如果單個進程打開的文件句柄數量超過了系統定義的值,就會提到「too many filesopen」的錯誤提示。如何知道當前進程打開了多少個文件句柄呢?下面一段小腳本可以幫你查看:
lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr|more
在系統訪問高峰時間以root用戶執行上面的腳本,可能出現的結果如下:
# lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr|more
13124204
5724244
5724231
5624264
其中第一行是打開的文件句柄數量,第二行是進程號。得到進程號後,我們可以通過ps命令得到進程的詳細內容。
ps -aef|grep 24204
mysql 2420424162 99 16:15? 00:24:25/usr/sbin/mysqld

Ⅳ Linux文件句柄佔用數量查看與設置

安裝lsof

yum install lsof

查看線程占句柄數

ulimit -a

查看系統打開句柄最大數量

more /proc/sys/fs/file-max

1

查看打開句柄總數

lsof|awk '{print $2}'|wc -l

1

根據打開文件句柄的數量降序排列,其中第二列為進程ID:

lsof|awk '{print $2}'|sort|uniq -c|sort -nr|more

1

根據獲取的進程ID查看進程的詳情

ps -ef |grep

1

修改linux單進程最大文件連接數

修改linux系統參數。vi /etc/security/limits.conf 添加

softnofile65536

hardnofile65536

修改以後保存,注銷當前用戶,重新登錄,執行ulimit -a ,ok ,參數生效了:

Ⅳ linux 句柄數是什麼

一個進程在運行中會打開很多資源,包括文件file、通訊連接socket、正在監聽的埠等,我們把這些統稱為句柄(handle)。

Ⅵ 修改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
使配置生效

熱點內容
安卓游戲舊版本從哪個軟體下載 發布:2025-05-16 00:00:20 瀏覽:328
連接聚類演算法 發布:2025-05-15 23:55:09 瀏覽:977
工資演算法單休 發布:2025-05-15 23:52:30 瀏覽:818
超凡先鋒配置不行怎麼辦 發布:2025-05-15 23:27:54 瀏覽:531
win7取消加密 發布:2025-05-15 23:26:37 瀏覽:471
不用internet打開ftp 發布:2025-05-15 23:06:00 瀏覽:153
sql字元串取數字 發布:2025-05-15 22:57:45 瀏覽:124
推薦編程課 發布:2025-05-15 22:34:12 瀏覽:618
表拒絕訪問 發布:2025-05-15 22:29:37 瀏覽:978
電腦怎樣解壓文件 發布:2025-05-15 22:25:32 瀏覽:439