日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

一般程序句柄多少linux,一个进程能够打开最大文件句柄数设到多大才合适(Linux)...

發布時間:2024/9/27 linux 188 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一般程序句柄多少linux,一个进程能够打开最大文件句柄数设到多大才合适(Linux)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

命令可以看到單個進程能夠打開的最大文件句柄數量(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,畢竟打開的文件句柄數越多響應時間肯定會越慢。設定句柄數量后,系統重啟后,又會恢復默認值。如果想永久保存下來,在/etc/security/limits.conf文件中設置最大打開文件數

# 添加如下這行,在文件中的實際配置

* hard nofile 65535

* soft nofile 65535

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#

添加如下這行。

* - nofile

2048

這行設置了每個用戶的默認打開文件數為2048。

注意"nofile"項有兩個可能的限制措施。就是項下的hard和soft。 要使修改過得最大打開文件數生效,必須對這兩種限制進行設定。

如果使用"-"字符設定, 則hard和soft設定會同時被設定。

硬限制表明soft限制中所能設定的最大值。 soft限制指的是當前系統生效的設置值。

hard限制值可以被普通用戶降低。但是不能增加。 soft限制不能設置的比hard限制更高。

只有root用戶才能夠增加hard限制值。

當增加文件限制描述,可以簡單的把當前值雙倍。 例子如下, 如果你要提高默認值1024,

最好提高到2048, 如果還要繼續增加, 就需要設置成4096。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的一般程序句柄多少linux,一个进程能够打开最大文件句柄数设到多大才合适(Linux)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。