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

歡迎訪問 生活随笔!

生活随笔

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

linux

Linux服务器文件描述符最大值修改

發布時間:2025/3/21 linux 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux服务器文件描述符最大值修改 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文件描述符的有效范圍是 0 到 OPEN_MAX。Linux 2.4.22 強制規定最多不能超過 1,048,576 。
  文件描述符是由無符號整數表示的句柄,進程使用它來標識打開的文件。文件描述符與包括相關信息(如文件的打開模式、文件的位置類型、文件的初始類型等)的文件對象相關聯,這些信息被稱作文件的上下文。


如何創建文件描述符
  進程獲取文件描述符最常見的方法是通過本機子例程open或create獲取或者通過從父進程繼承。后一種方法允許子進程同樣能夠訪問由父進程使用的文件。文件描述符對于每個進程一般是唯一的。當用fork子例程創建某個子進程時,該子進程會獲得其父進程所有文件描述符的副本,這些文件描述符在執行fork時打開。在由fcntl、dup和dup2子例程復制或拷貝某個進程時,會發生同樣的復制過程。
  第二個異常在JVM進程缺乏文件描述符時出現(盡管在執行forkAndExec()子例程時不需要新的文件描述符來復制父進程的文件描述符)。對于每個進程,操作系統內核在u_block結構中維護文件描述符表,所有的文件描述符都在該表中建立索引。


缺點
  文件描述符的概念存在兩大缺點:
  在非UNIX/Linux操作系統上(如Windows NT),無法基于這一概念進行編程。
  由于文件描述符在形式上不過是個整數,當代碼量增大時,會使編程者難以分清哪些整數意味著數據,那些意味著文件描述符。因此,完成的代碼可讀性也就會變得很差。
如何在不同平臺上定義文件描述符的數量
  文件描述符極限以及可分配給進程的最大大小由資源限制來定義。這些值應當按照在WebLogicServer文檔中建議的、特定于操作系統的文件描述符值來設置:
  對于WLS8.1:調整硬件、操作系統和網絡性能
  對于WLS7.0:調整硬件、操作系統和網絡性能
  對于WLS6.1:調整硬件、操作系統和網絡性能
  Unix和Linux都有文件描述符。不過,二者的主要區別在于如何設置文件描述符的硬極限值、缺省值和配置過程。
  Solaris
  /usr/bin/ulimit實用程序定義允許單個進程使用的文件描述符的數量。它的最大值在rlim_fd_max中定義,在缺省情況下,它設置為65,536。只有root用戶才能修改這些內核值。
Linux
  管理用戶可以在etc/security/limits.conf配置文件中設置他們的文件描述符極限,如下例所示。
  softnofile1024
  hardnofile4096
  系統級文件描述符極限還可以通過將以下三行添加到/etc/rc.d/rc.local啟動腳本中來設置:
  #Increasesystem-widefiledescriptorlimit.
  echo4096>/proc/sys/fs/file-max
  echo16384>/proc/sys/fs/inode-max
Window
  在Windows操作系統上,文件描述符被稱作文件句柄。在Windows2000服務器上,打開文件的句柄極限設置為16,384。此數量可以在任務管理器的性能摘要中監視。
HP-UX
  nfile定義打開文件的最大數量。此值通常由以下公式來確定:((NPROC*2)+1000),其中NPROC通常為:((MAXUSERS*5)+64)。如果MAXUSERS等于400,則經過計算得到此值為5128。通常可以將此值設高一些。maxfiles是每個進程的軟文件極限,maxfiles_lim是每個進程的硬文件極限。
AIX
  文件描述符極限在/etc/security/limits文件中設置,它的缺省值是2000。此極限可以通過ulimit命令或setrlimit子例程來更改。最大大小由OPEN_MAX常數來定義。
另外解決方法
  對于ANSI C規范中定義的標準庫的文件I/O操作。ANSI C規范給出了一個解決方法,就是使用FILE結構體的指針。事實上,UNIX/Linux平臺上的FILE結構體的實現中往往都是封裝了文件描述符變量在其中。
  


在部署該類服務器時修改文件描述符是必要進行的操作,linux中有修改最大文件描述符的方式:
?
修改limits.conf文件,永久更改系統文件描述符最大值
vi /etc/security/limits.conf文件,在最后加入如下兩行
* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? soft ? ?nofile ?65536
* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? hard ? ?nofile ?65536
或者使用下列命令直接插入:
echo "* ? ? ? ? ? ? ? soft ? ?nofile ?65536" >>/etc/security/limits.conf
echo "* ? ? ? ? ? ? ? hard ? ?nofile ?65536" >>/etc/security/limits.conf
?
這樣任何用戶連接都是變為修改的值。

總結

以上是生活随笔為你收集整理的Linux服务器文件描述符最大值修改的全部內容,希望文章能夠幫你解決所遇到的問題。

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