Solaris

打開的文件太多

  • April 28, 2011

在 php-fpm.conf 我有:

rlimit_files = 8192

我的伺服器是 Joyent 的 1G SmartMachine,這意味著它是具有 1GB 記憶體的 Solaris。

我的問題是在高負載時我會收到如下錯誤:

Warning (2): touch() [function.touch]: Unable to create file app/tmp/cache/persistent/cake_core_users_da because Too many open files in [cake/libs/file.php, line 125]

我的 rlimit_files 是否太低,如果是,我應該設置多高?

你確定它真的有效嗎?您可以在程序 ID 上使用“pfiles”來查看它實際打開的內容。您還可以在程序 ID 上執行“prctl”並查找“process.max-file-descriptor”值。將列出基本、特權和系統值。該過程的限制是其中最低的。如果它真的有那麼多打開,它可能是應用程序中的文件描述符洩漏錯誤。

Solaris 本身可能對打開文件的數量施加了另一個限制。例如,有一篇關於在 Solaris 上繞過 32 位二進製文件中 256 個文件描述符的限制的文章。

嘗試確定您的 php 二進製文件是 32 位還是 64 位。

引用自:https://serverfault.com/questions/259552