如何進(jìn)行SUSELINUX系統(tǒng)文件句柄限制的修改

本篇文章為大家展示了如何進(jìn)行SUSE LINUX系統(tǒng)文件句柄限制的修改,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)專注于彭陽網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供彭陽營(yíng)銷型網(wǎng)站建設(shè),彭陽網(wǎng)站制作、彭陽網(wǎng)頁設(shè)計(jì)、彭陽網(wǎng)站官網(wǎng)定制、微信平臺(tái)小程序開發(fā)服務(wù),打造彭陽網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供彭陽網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

在SUSE Linux下部署應(yīng)用的時(shí)候,有時(shí)會(huì)遇到“Socket/File: Can’t open so many files”的問題,這其實(shí)是因?yàn)镾USE Linux系統(tǒng)的文件句柄限制造成的,一般系統(tǒng)默認(rèn)都是允許打開1024個(gè)文件,作為一臺(tái)生產(chǎn)環(huán)境的應(yīng)用服務(wù)器,是很容易就達(dá)到這個(gè)默認(rèn)值的,因此我們需要把這個(gè)值改大一些。

文件句柄釋義:在文件I/O中,要從一個(gè)文件讀取數(shù)據(jù),應(yīng)用程序首先要調(diào)用操作系統(tǒng)函數(shù)并傳送文件名,并選一個(gè)到該文件的路徑來打開文件。該函數(shù)取回一個(gè)順序號(hào),即文件句柄(file handle),該文件句柄對(duì)于打開的文件是唯一的識(shí)別依據(jù)。要從文件中讀取一塊數(shù)據(jù),應(yīng)用程序需要調(diào)用函數(shù)ReadFile,并將文件句柄在內(nèi)存中的地址和要拷貝的字節(jié)數(shù)傳送給操作系統(tǒng)。當(dāng)完成任務(wù)后,在通過調(diào)用系統(tǒng)函數(shù)來關(guān)閉該文件。

下面我們看如何修改:

1、先查看系統(tǒng)默認(rèn)值

如何進(jìn)行SUSE LINUX系統(tǒng)文件句柄限制的修改 

注意紅線標(biāo)注的“open files   (-n) 1024”這行顯示文件句柄限制數(shù)量是1024,這個(gè)值對(duì)于實(shí)際生產(chǎn)環(huán)境的應(yīng)用服務(wù)器來說太小了。我們需要修改文件句柄的大小。


2、修改系統(tǒng)默認(rèn)文件句柄限制  
#vi    /etc/security/limits.conf   
如果修改某個(gè)用戶的文件句柄限制數(shù)量,可以增加如下兩句:  
你的用戶名  soft nofile 2048     
你的用戶名  hard nofile 65536    
如果將所有用戶的文件句柄限制統(tǒng)一修改,可以增加如下兩句:  
* soft nofile 2048   
* hard nofile 65536   
注意wq保存退出。

我們添加的有soft, hard兩種限制:硬限制是實(shí)際的限制,而軟限制是warnning限制,只會(huì)做出warning。修改完保存重啟shell即可(有些系統(tǒng)可能需要重啟系統(tǒng),SUSE LINUX是不用的),再用ulimit -a 查看一下設(shè)置發(fā)現(xiàn)已成功。  
 
 

 
3、ulimit其實(shí)就是對(duì)用戶和單一程序的限制,我們?cè)倏匆幌孪到y(tǒng)總限制:
查看系統(tǒng)總限制命令:
#cat /proc/sys/fs/file-max  
 
查看整個(gè)系統(tǒng)目前使用的文件句柄數(shù)量命令:
#cat /proc/sys/fs/file-nr 
 

如果要修改file-max和file-nr的值,需要通過vi  /etc/sysctl.conf進(jìn)行編輯修改,使用sysctl -p使其生效。
 

對(duì)于一般的應(yīng)用來說(Apache、系統(tǒng)進(jìn)程)1024完全足夠使用,但是對(duì)于squid、MySQL、java等單進(jìn)程處理大量請(qǐng)求的應(yīng)用來說就不夠用了。那么如何知道當(dāng)前進(jìn)程打開了多少個(gè)文件句柄呢?我們可以通過這個(gè)來查看:
#lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr|more

如何進(jìn)行SUSE LINUX系統(tǒng)文件句柄限制的修改

 左邊一列是打開的文件句柄數(shù)量,第二列是進(jìn)程ID號(hào)。如果系統(tǒng)并發(fā)特別大,文件句柄數(shù)很有可能會(huì)超過1024,這時(shí)候我們就必須要調(diào)整系統(tǒng)參數(shù),以適應(yīng)實(shí)際應(yīng)用的變化。

補(bǔ)充:
查看某個(gè)進(jìn)程開了那些句柄:
#lsof -p pid    
查看某個(gè)進(jìn)程開了多少個(gè)句柄:
#lsof -p pid |wc -l
看某個(gè)文件/目錄被什么進(jìn)程占用了,顯示已打開該目錄或文件的所有進(jìn)程信息:
#lsof  path/filename    

上述內(nèi)容就是如何進(jìn)行SUSE LINUX系統(tǒng)文件句柄限制的修改,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

標(biāo)題名稱:如何進(jìn)行SUSELINUX系統(tǒng)文件句柄限制的修改
網(wǎng)站地址:http://muchs.cn/article8/jephip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)站設(shè)計(jì)網(wǎng)站改版、網(wǎng)站維護(hù)App設(shè)計(jì)、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)