
増やしたいサービスの素晴らしさ/etc/security/limits.conf
(CPU 優先度を下げる) は、ブート プロセス中に専用ユーザーまたはグループとして開始されました。エントリがサービスに対して監視されないため、目的のユーザーのディレクトリまたはディレクトリで niceness または優先度を定義することはできません./limits.d/
。(?)
例
特に、CentOS 6.6を搭載したいくつかの小さなvServerがあり、Torリレーを実行したいと考えています(オニオンルーター) をそれぞれにインストールします。tor デーモンは、起動時にサービスとして起動し、sudo /sbin/chkconfig
(実行レベル: 2、3、4、5) で設定されます。tor プロセスのユーザーとグループは です_tor
。
ユーザー_torが所有者であるすべてのプロセスのniceまたは優先度レベルをどこで変更する必要がありますか? nice値は、すべてのブート時および手動サービス開始時( service tor start
)に適用する必要があります。
答え1
古典的なアプローチは、サービス起動スクリプト内でnice
and/orを使用することです。おそらく次のようなものになります:ionice
case "$1" in
start)
echo "Starting tor daemon"
/path/to/tor-daemon
これを次のように変更します
echo "Starting tor daemon"
nice /path/to/tor-daemon
あるいは、起動スクリプトはデーモンの PID などをログに記録することが多く、デーモンの起動後にその PID を/var/run/pid-of-tor-daemon
使用することもできます。renice
より良いアプローチはcgroupsを使うことです。ここで答えるには少し長すぎますが、Red Hat ドキュメント役に立つスタートになるかもしれません。