すべてのプロセスを親切に開始するにはどうすればよいですか? 5

すべてのプロセスを親切に開始するにはどうすればよいですか? 5

親和性値が親プロセスの親和性値から継承されることを理解する。しかし、特定のユーザー(自分自身)のデフォルトの親和性値をグローバルに変更できますか?

この場合はssh/bin/bash/etc/bash5/etc/bash5

#!/bin/sh
nice -n 5 /bin/bash

#file privileges: root:root 755

私の考えでは、これはひどいハッキングであり、エラーが発生しやすいです。より良い方法が必要です。

私が最も興味を持っているのは、デスクトップ/ノートブックシステムでも機能する汎用ソリューションです。


編集:提案された変更を試しましたが、limits.conf期待どおりに機能しません。

root@server# addgroup nice
root@server# adduser myself nice
root@server# echo '@nice soft nice 5' >> /etc/security/limits.conf

その後、私のクライアントコンピュータで次のように言います。

myself@client$ ssh server
myself@server$ sleep 1h &
myself@server$ htop

sleepプロセスでは初期の良い値0しかし、値を19に変更してF8からもう一度減らそうとするとF7 それで止まる5

編集2:ソリューション

nice直観にずれても、実際にはアイテムを使用する代わりにアイテムを使用する必要があります。limits.confpriority

@nice soft priority 5

ベストアンサー1

/etc/security/limits.confファイル内の特定のユーザーの優先順位を設定できます。

root       hard/soft     priority    10

このようにして、特定のユーザーに対してハードまたはソフト制限を設定できます。したがって、rootユーザーが開始するすべてのプロセスのデフォルト優先順位値は5です。

~によるとウィキペディアページ:

プロセスに特定の良い値を設定する正確な数学的効果は、スケジューラUnix実装の設計の詳細によって異なります。

以下は、上記のプロセスが実際に実行されている様子を示すスナップショットです。

このイメージは/etc/security/limits.confファイルのスクリーンショットです。

limits.conf以下は、私が最後に追加した行を示すファイルのスナップショットです。

root     hard     priority    15

これを変更した後、次のコマンドを使用してSSHセッションを開始しました。ssh root@localhost

ここに画像の説明を入力してください。

-bashこのスクリーンショットは、適切な値が15の最後の2つのプロセスを示す最後の2行を示していますsshd: root@pts/3

編集する

以下は、プロセスをどれだけうまく増減できるかを示すスナップショットです。 ここに画像の説明を入力してください。

編集2:

簡単な説明をすると、一般ユーザーでも親近感の値を変更できます。

ここに画像の説明を入力してください。

おすすめ記事