日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Linux錯(cuò)誤:打開文件過(guò)多的解決方法(linux打開文件過(guò)多)

在使用Linux系統(tǒng)時(shí)經(jīng)常會(huì)遇到“打開文件過(guò)多”的錯(cuò)誤提示,這是因?yàn)長(zhǎng)inux系統(tǒng)默認(rèn)限制同時(shí)打開的文件數(shù)量的上限。這個(gè)限制數(shù)在不同系統(tǒng)版本中不一樣,但一般不會(huì)太高,所以需要在遇到此錯(cuò)誤時(shí)通過(guò)一些方法來(lái)解決。本文將介紹在Linux系統(tǒng)中打開文件過(guò)多的解決方法。

一、查看文件打開數(shù)限制

在Linux系統(tǒng)中,可以通過(guò)系統(tǒng)參數(shù)來(lái)查看更大打開文件描述符數(shù)量。打開終端,輸入如下命令:

“`

ulimit -a

“`

執(zhí)行上述命令后,系統(tǒng)會(huì)列出當(dāng)前系統(tǒng)各項(xiàng)限制的值,其中包括更大打開文件描述符數(shù)量。

當(dāng)出現(xiàn)錯(cuò)誤提示“too many open files”時(shí),說(shuō)明當(dāng)前使用的進(jìn)程已經(jīng)超過(guò)限制值??梢允褂萌缦旅畈榭串?dāng)前進(jìn)程的文件描述符數(shù)量:

“`

lsof -p pid | wc -l

“`

其中“pid”表示進(jìn)程的ID號(hào)。

二、修改文件打開數(shù)限制

1. 通過(guò)命令修改

在Linux系統(tǒng)中,可以通過(guò)命令來(lái)修改文件打開數(shù)限制。打開終端,輸入如下命令:

“`

ulimit -n 數(shù)值

“`

其中“數(shù)值”表示新的限制值。此時(shí),只能修改當(dāng)前終端會(huì)話的文件描述符限制。如果要在所有會(huì)話中修改,需要在“/etc/security/limits.conf”中添加相關(guān)配置。

2. 通過(guò)修改配置文件來(lái)修改

在Linux系統(tǒng)中,也可以通過(guò)修改系統(tǒng)配置文件來(lái)修改文件打開數(shù)限制。編輯“/etc/security/limits.conf”文件,添加如下配置:

“`

* soft nofile 數(shù)值

* hard nofile 數(shù)值

“`

其中“soft”表示軟限制,即當(dāng)前系統(tǒng)默認(rèn)的限制值;“hard”表示硬限制,即絕對(duì)不能超過(guò)的限制值,如果超過(guò)該值,系統(tǒng)會(huì)報(bào)錯(cuò)并拒絕打開文件。

修改完畢后,重啟系統(tǒng)或者使用如下命令使設(shè)置立即生效:

“`

ulimit -SHn 數(shù)值

“`

三、關(guān)閉不需要的文件句柄

在Linux系統(tǒng)中,有些進(jìn)程會(huì)無(wú)限制地打開文件,而不釋放句柄,導(dǎo)致打開文件數(shù)量過(guò)多??梢酝ㄟ^(guò)手動(dòng)關(guān)閉不需要的文件句柄來(lái)解決問(wèn)題。可以使用如下命令來(lái)查看進(jìn)程已經(jīng)打開的文件句柄:

“`

lsof | grep program

“`

其中“program”表示正在運(yùn)行的進(jìn)程名。查看結(jié)果后,可以使用如下命令關(guān)閉不需要的文件句柄:

“`

kill -9 file_descriptor_number

“`

其中“file_descriptor_number”表示不需要的文件句柄編號(hào)。

四、使用代碼處理

如果是自己編寫的程序造成文件打開數(shù)過(guò)多的問(wèn)題,可以在代碼中進(jìn)行處理。使用如下代碼可以設(shè)置文件打開數(shù)限制:

“`

#include

void mn() {

struct rlimit limit;

limit.rlim_cur = 1024;

limit.rlim_max = 2023;

setrlimit(RLIMIT_NOFILE, &limit);

//…

}

“`

其中,上述代碼將更大打開文件描述符數(shù)量限制為1024,硬限制為2023。

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!

Linux怎么修改文件打開數(shù)

limits.conf 文件實(shí)際是 Linux PAM(插入式認(rèn)證模塊,Pluggable Authentication Modules)中 pam_limits.so 的配置文件,而且只針對(duì)于單個(gè)會(huì)話。

  limits.conf的格式如下:

username|@groupname type resource limit

username|@groupname:設(shè)置需要被限制的用戶名,組名前面加@和用戶名區(qū)別。也可以用通配符*來(lái)做所有用戶的限制。

  type:有 soft,hard 和 -,soft 指的談拆拆是當(dāng)前系統(tǒng)生御蔽效的設(shè)置值。hard 表明系統(tǒng)中所能設(shè)定的更大值。soft 的限制不能比har 限制高。用 – 就表明同時(shí)設(shè)置了 soft 和 hard 的值。

  resource:

  core – 限制內(nèi)核文件的大小

  date – 更大數(shù)據(jù)大小

  fsize – 更大文件大小

  memlock – 更大鎖定內(nèi)存地址空間

  nofile – 打開文件的更大數(shù)目

  rss – 更大持久設(shè)置大小

  stack – 更大棧大小

  cpu – 以分鐘為單含棗位的最多 CPU 時(shí)間

  noproc – 進(jìn)程的更大數(shù)目

  as – 地址空間限制

  maxlogins – 此用戶允許登錄的更大數(shù)目

  要使 limits.conf 文件配置生效,必須要確保 pam_limits.so 文件被加入到啟動(dòng)文件中。查看 /etc/pam.d/login 文件中有:

  session required /lib/security/pam_limits.so

例如:修改文件描述符大小(65536)

vi /etc/security/limits.conf

* soft nofile

* hard nofile

在線:

# ulimit -n 65535

# ulimit -n

65535

# ulimit -a

core file size(blocks, -c) unlimited

data seg size(kbytes, -d) unlimited

scheng priority(-e) 0

file size (blocks, -f) unlimited

pending signals (-i) 3806

max locked memory(kbytes, -l) 64

max memory size(kbytes, -m) unlimited

open files(-n) 65535

pipe size(512 bytes, -p) 8

POSIX message queues (bytes, -q)

real-time priority(-r) 0

stack size(kbytes, -s) 10240

cpu time (seconds, -t) unlimited

max user processes(-u) 3806

virtual memory(kbytes, -v) unlimited

file locks(-x) unlimited

操作系統(tǒng)版本:Redhat 5.4

問(wèn)題背景:Tsung壓力測(cè)試,想要盡可能多地建立tcp請(qǐng)求,發(fā)現(xiàn)每次只能建立1013個(gè)請(qǐng)求。

原因分析:Linux默認(rèn)的文件打開數(shù)是1024,減掉其他地方用掉的11個(gè),剩下的就是1013個(gè)了。

解決方案:

)先用ulimit -n或ulimit -a命令,發(fā)現(xiàn)文件打開數(shù)是1024

復(fù)制代碼

代碼如下:

# ulimit -n

2)用ulimit -n 65535把文件打開數(shù)改為更大值65535,再用ulimit -n驗(yàn)證發(fā)現(xiàn)修改成功

復(fù)制代碼

代碼如下:

# ulimit -n 65535

# ulimit -n

此時(shí)跑一下tsung start,發(fā)現(xiàn)仍然只能建立1013個(gè)請(qǐng)求。另外,重新登錄后,發(fā)現(xiàn)文件打開數(shù)重置回默認(rèn)的1024。說(shuō)明此方案不通。

3)在/etc/security/limits.conf最后增加如下兩行記錄

復(fù)制代碼

代碼如下:

* soft nofile 65535

* hard nofile 65535

重新驗(yàn)證,成功。

補(bǔ)充資料:

修改linux系統(tǒng)更大打開文件數(shù)

當(dāng)前設(shè)置更大打開文件數(shù)可以通過(guò)如下命令查看。

ulimit -n

這個(gè)數(shù)字說(shuō)明了一個(gè)普通用戶能夠在一個(gè)單獨(dú)會(huì)話中所能打開更大的文件數(shù)目。

注意。如果是root,以下操作不能使ulimit -n的輸出增加。卜敗因?yàn)橛脩魊oot用戶不受這個(gè)ulimit限制。只有普通用戶才會(huì)受這個(gè)限制。

為了提高更大打開文件數(shù)到默認(rèn)值1024以上, 需要在系統(tǒng)上修改2個(gè)地方。

在這個(gè)案例中, 我們將更大打開文件數(shù)增加到2023。 所有的步驟需要root用戶操作。普通用戶需要重新登錄才能使設(shè)置生效。

. 按照更大打開文件數(shù)量的需求設(shè)置系統(tǒng),并且通過(guò)檢查/proc/sys/fs/file-max文件來(lái)確認(rèn)更大打開文件數(shù)已經(jīng)被正確設(shè)置。

# cat /proc/sys/fs/file-max

如果設(shè)置值太小, 修改文件/etc/sysctl.conf的變量到合適的值。 這樣會(huì)在每次重啟之后生效。如果設(shè)置值夠大,跳過(guò)下步。

# echo 2023 > /proc/sys/fs/file-max編輯文件/etc/sysctl.conf,插入下行。

fs.file-max = 2023

. 在/etc/security/limits.conf文件中設(shè)置更大打開文件數(shù), 下面是一行提示:

# 添加如下這行。

* – nofile 2023

這行設(shè)置了每個(gè)用戶的默認(rèn)打開文件數(shù)為2023。

注意”nofile”項(xiàng)有兩個(gè)可能的限制措施。就是項(xiàng)下的hard和soft。

要使修改過(guò)得更大打開文件數(shù)生效,必須對(duì)這兩種限制賀弊賀進(jìn)行設(shè)定。

如果使用”-“字符設(shè)定, 則hard和soft設(shè)定會(huì)同時(shí)被設(shè)定。

硬限制表明soft限制中所能設(shè)定的更大值。

soft限制指的是當(dāng)前系統(tǒng)生效的設(shè)置值。

hard限制值可以被普通用戶降低。但是不能增加。

soft限制不能設(shè)置的比hard限制更高。

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

當(dāng)增禪派加文件限制描述,可以簡(jiǎn)單的把當(dāng)前值雙倍。

例子如下, 如果你要提高默認(rèn)值1024, 更好提高到2023, 如果還要繼續(xù)增加, 就需要設(shè)置成4096。

.Add the following line to the /etc/pam.d/login and /etc/pam.d/xdm file, if it does not already exist:

session required /lib/security/pam_limits.so

. logout and logon

或者在shell配置文件里面動(dòng)態(tài)加載。

如.bashrc里加:

ulimit -HSn 2023

二、安裝

tar zxvf mysql-5.1.50-linux-i686-glibc23.tar.gz

cp -rf mysql-5.1.50-linux-i686-glibc23 /usr/local/

cd /usr/local/

mv mysql-5.1.50-linux-i686-glibc23/ mysql

安裝為默認(rèn)的路徑,這樣就不用為程序目錄做軟鏈接了

groupadd mysql

useradd -g mysql mysql

cd mysql/

cp support-files/my-medium.cnf /etc/my.cnf

sed -i ‘s/log-bin=mysql-bin/#log-bin=mysql-bin/g’ /etc/my.cnf

sed -i ‘s/binlog_format=mixed/#binlog_format=mixed/g’ /etc/my.cnf

sed -i ‘s/skip-locking/skip-locking/nmax_connections = 1000/nwait_timeout = 5/g’ /etc/my.cnf

接下來(lái)初始化數(shù)據(jù)庫(kù)

scripts/mysql_install_db –user=mysql

安裝mysql服務(wù)控制

cp support-files/mysql.server /etc/rc.d/init.d/mysqld

chmod 755 /etc/rc.d/init.d/mysqld

chkconfig –add mysqld

chkconfig mysqld on

service mysqld start

如何修改linux更大文件打開數(shù)

Linux系統(tǒng)如何查看修改更大打開文件數(shù),這個(gè)問(wèn)題對(duì)于很多剛剛學(xué)習(xí)linux的小伙伴來(lái)說(shuō)覺得有點(diǎn)奇怪。Linux系統(tǒng)和windows不同之處在于更強(qiáng)的多任務(wù)多線程,由于文件系統(tǒng)結(jié)構(gòu)的不同linux針對(duì)不同進(jìn)程不同用戶都可以吵培告設(shè)置最打打開文件數(shù)。(如下圖,在設(shè)置某些配置文中猜件的時(shí)候升明,會(huì)出現(xiàn)下圖提示超過(guò)系統(tǒng)更大打開文件數(shù)

關(guān)于linux 打開文件過(guò)多的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

四川成都云服務(wù)器租用托管【創(chuàng)新互聯(lián)】提供各地服務(wù)器租用,電信服務(wù)器托管、移動(dòng)服務(wù)器托管、聯(lián)通服務(wù)器托管,云服務(wù)器虛擬主機(jī)租用。成都機(jī)房托管咨詢:13518219792
創(chuàng)新互聯(lián)(www.cdcxhl.com)擁有10多年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)、開啟建站+互聯(lián)網(wǎng)銷售服務(wù),與企業(yè)客戶共同成長(zhǎng),共創(chuàng)價(jià)值。


文章名稱:Linux錯(cuò)誤:打開文件過(guò)多的解決方法(linux打開文件過(guò)多)
文章位置:http://www.dlmjj.cn/article/dphgocp.html