回答
作爲系統管理員:/etc/security/limits.conf
文件在大多數Linux安裝上控制此功能;它允許您設置每個用戶的限制。你會想要一條線,如myuser - nofile 1000
。
在一個過程中:The getrlimit and setrlimit calls控制大多數進程資源分配限制。 RLIMIT_NOFILE
控制文件描述符的最大數量。您將需要適當的權限來調用它。
舊線程,我知道。
您可以使用gdb,打入進程,調用上述系統調用來提高您感興趣的限制,然後繼續工作並退出gdb。我用這種方式幾次編輯了一些東西。
您的應用程序不會停機,而是在執行呼叫時暫時凍結。如果你很快(或者你編寫它!),它可能不會引人注目。
感謝您的提示! – 2014-01-14 11:54:05
+1好建議,[本文](http://superuser.com/a/441758/81173)和[本博客](http://gregchapple.com/updating-ulimit-on-running-linux-process /)描述如何去做。 – 2014-07-09 17:48:45
是的,這有點像調整矩陣使事情工作...停止世界,編輯變量,繼續世界......哦!幻覺記憶!我是一個! (好吧,當我有gdb的時候!) – lornix 2014-07-09 21:15:39
是的,可以在運行時增加/proc/<pid>/limits
的限制。只要找到PID並執行以下命令:
echo -n "Max open files=20:20" > /proc/$pid/limits
不要在Ubuntu 14.04.2 LTS上開火。 – 2015-07-23 01:04:42
echo -n "Max open files=20:20" > /proc/$pid/limits
...在RHEL5.5和RHEL6.7的作品。
請注意,「-n」是強制性的;尾隨的換行符會產生關於無效參數的投訴。
另一種選擇是使用prlimit命令(來自util-linux軟件包)。例如,如果你想設置的打開文件的最大數量的過程:
prlimit -n4096 -p pid_of_process
或debian,或Ubuntu的,或... – t2d 2016-08-23 16:20:42
我使用linux mint(基於Ubuntu),我無法在默認安裝中找到它。通常情況下,它是util-linux軟件包的一部分,但是Mint上的這個軟件包並沒有提供這個命令。 – redobot 2016-08-24 07:15:09
➜〜lsb_release -d 說明:\t的Ubuntu 16.04.1 LTS ➜〜whereis prlimit prlimit:在/ usr/bin中/ prlimit /usr/share/man/man2/prlimit.2.gz在/ usr/share/man中/ man1/prlimit.1.g – t2d 2016-08-24 11:05:55
下面的命令給打開文件的最大#每個進程默認允許限制(分別爲軟和硬):
ulimit -Sa
ulimit -Ha
您可以使用程序或命令來更改這些限制。看看ulimit(man ulimit)。
- 1. Linux中每個進程打開的文件的最大數量
- 2. 每個進程的最大打開文件數
- 3. PHP FPM進程打開大量文件並將它們打開
- 4. neo4j和最大打開文件
- 5. Linux:如何更改進程可以打開的最大文件數?
- 6. AppleScript打開「打開最近」文件
- 7. 打開pps文件阻止進程
- 8. Python子進程:太多打開文件
- 9. Python太多打開文件(子進程)
- 10. c + +打開文件不工作
- 11. 打開MP3文件JavaFX的工作不
- 12. 從工作目錄中打開文件
- 13. 打開大型CSV文件?
- 14. Excel不打開大文件
- 15. 用Workbook打開html文件。在新工作簿中打開allways
- 16. Python可以打開的文件的最大大小?
- 17. MSYS - 作爲一個單獨的進程打開文件
- 18. 打開一個文件作爲子進程
- 19. 如何打開一個.xls文件作爲單獨的進程
- 20. Android工作室從應用程序打開外部文件
- 21. Sharepoint 2010工作流程錯誤,無法打開文件
- 22. 打開任何文件作爲二進制文件
- 23. CSV文件在CentOS中作爲二進制文件打開
- 24. 確定打開(工作)文件的文件名
- 25. 從視覺工作室的文件夾中打開文件2012
- 26. 當有多個進程打開時,TerminateProcess不工作
- 27. 兩個進程打開同一個文件進行寫入
- 28. IIS最大工作進程設置爲1,但產生更多?
- 29. 如何增加Azure網站中的最大工作進程?
- 30. Python多處理:最大。池工作進程的數量?
附加信息:我的過程是'java'。我需要增加「最大打開文件」而不停止進程。 – wako 2010-09-17 12:00:24