linux環(huán)境在哪里設(shè)置ulimit 為什么程序崩潰了,沒(méi)有產(chǎn)生core文件?
為什么程序崩潰了,沒(méi)有產(chǎn)生core文件?在Linux上只需可以打開(kāi)coredump文件開(kāi)關(guān)控制,當(dāng)程序hurricanes時(shí)系統(tǒng)化合或者的core文件。下面是很簡(jiǎn)單一些步驟:1.查看當(dāng)前有無(wú)早就可以打
為什么程序崩潰了,沒(méi)有產(chǎn)生core文件?
在Linux上只需可以打開(kāi)coredump文件開(kāi)關(guān)控制,當(dāng)程序hurricanes時(shí)系統(tǒng)化合或者的core文件。下面是很簡(jiǎn)單一些步驟:
1.查看當(dāng)前有無(wú)早就可以打開(kāi)了此開(kāi)關(guān)命令:ulimit-c如果沒(méi)有輸出為0,則屬於也沒(méi)打開(kāi)。如果沒(méi)有為frontier則已經(jīng)打開(kāi)了,就沒(méi)有必要在做再打開(kāi)。
Linux系統(tǒng)超出文件句柄限制數(shù)量怎么辦?
這個(gè)文件法律規(guī)定了最大進(jìn)程數(shù),root無(wú)限制,普通用戶(hù)有限制,當(dāng)前環(huán)境的用戶(hù)所有進(jìn)程能再打開(kāi)的的最文件數(shù)量由ulimit-n決定。
可以修改Linux
的的最文件句柄數(shù)限制的方法:
1)ulimit-n65535
在當(dāng)前session最有效,用戶(hù)后退或是系統(tǒng)原先后重新恢復(fù)默認(rèn)值
2)如何修改profile文件:在profile文件中添加:ulimit-n65535
只對(duì)當(dāng)個(gè)用戶(hù)快速有效
3)可以修改文件:,在文件中再添加:(馬上生效-當(dāng)前session中不運(yùn)行ulimit-a命令不能不顯示)
*softnofile32768#限制下載單個(gè)進(jìn)程大的文件句柄數(shù)(到達(dá)此限制時(shí)系統(tǒng)然后報(bào)警)
*hardnofile65536#限制單個(gè)進(jìn)程比較大文件句柄數(shù)(到達(dá)此限制時(shí)系統(tǒng))
4)直接修改文件:。在文件中添加:
#沒(méi)限制整個(gè)系統(tǒng)大文件句柄數(shù)
運(yùn)行命令:/sbin/sysctl-p使配置生效
如何實(shí)現(xiàn)單服務(wù)器300萬(wàn)個(gè)長(zhǎng)連接的?
理論上全部是可以提升。
(以下建議參考值皆是Linu臺(tái)上)
1,Linux單個(gè)進(jìn)程也可以維持的連接數(shù)(fd)理論值是是從ulimit-a設(shè)置,或在server內(nèi)可以使用setrlimit()可以設(shè)置,具體比較大是多少?我看我的64機(jī)上是64bits的一個(gè)數(shù)值,所以我,只作以為理論上是2^64-1。anyways,幾百萬(wàn)不是問(wèn)題。
2,TCP連接數(shù)。是因?yàn)槭荢erver端,不用什么向系統(tǒng)可以申請(qǐng)充當(dāng)端口,只占fd資源。所以才tcp連接上數(shù)限制更少。3,保留連接肯定是需要內(nèi)存消耗,要是每個(gè)直接連接(fd),我們憑此分配5k字節(jié)(應(yīng)該加上了,就貯放一些用戶(hù)信息之類(lèi)的)。這樣是5k*300000015G。文中有24G內(nèi)存,應(yīng)該也充足了。
就我的理解,除非服務(wù)器的配置和帶寬普通的高而且還得不使用特殊的系統(tǒng),否則不是不可能實(shí)現(xiàn)單臺(tái)服務(wù)器這么說(shuō)多連接地址的。硬件能允許的鏈接是不足的,并且就像的系統(tǒng)連接到數(shù)都是有上不了線(xiàn)的,相關(guān)參考現(xiàn)在的游戲服務(wù)器分區(qū)的做法,如果不是單臺(tái)服務(wù)器能允許這么多多鏈接那游戲就不用什么分這樣的話(huà)多區(qū)了。