2011-09-16 113 views
6

我正在將服務器配置遷移到supervisord(從init.d文件中)。如何使用supervisord配置ulimit(開始清漆)

有一些varish運行的實例。我記得當我開始使用清漆時,我有ulimit問題,所以init.d/varnish腳本中有以下行:

ulimit -n $ {NFILES:-131072} ulimit -l $ {MEMLOCK:-82000}

我在配置supervisord以運行參數/ usr/sbin/varnishd程序。

如何通過supervisord配置ulimit設置?我只是將varnishd程序包裝在腳本中?

+1

BTW目前我使用這個腳本(在/ usr/local/bin目錄/ varnishd) #!/bin/sh ulimit -n $ {NFILES:-131072} ulimit -l $ {MEMLOCK:-82000} exec/usr/sbin/varnishd $ @ –

回答

0

如果你確實需要走這條路線,那麼最好在系統級別設置ulimit(參見limits.conf)。但是清漆在malloc後端執行得最好,而不是文件後端,所以如果你有內存資源,這將解決你的ulimit問題並提高你的性能。該documentation is here,但基本上你有類似 「-s的malloc,1G」 在你的/ etc /默認/清漆:

DAEMON_OPTS="-a :80 \ 
     -T localhost:1234 \ 
     -f /etc/varnish/default.vcl \ 
     -s malloc,1G"