親和性値が親プロセスの親和性値から継承されることを理解する。しかし、特定のユーザー(自分自身)のデフォルトの親和性値をグローバルに変更できますか?
この場合は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.conf
priority
@nice soft priority 5
ベストアンサー1
/etc/security/limits.conf
ファイル内の特定のユーザーの優先順位を設定できます。
root hard/soft priority 10
このようにして、特定のユーザーに対してハードまたはソフト制限を設定できます。したがって、rootユーザーが開始するすべてのプロセスのデフォルト優先順位値は5です。
~によるとウィキペディアページ:
プロセスに特定の良い値を設定する正確な数学的効果は、スケジューラUnix実装の設計の詳細によって異なります。
以下は、上記のプロセスが実際に実行されている様子を示すスナップショットです。
limits.conf
以下は、私が最後に追加した行を示すファイルのスナップショットです。
root hard priority 15
これを変更した後、次のコマンドを使用してSSHセッションを開始しました。ssh root@localhost
-bash
このスクリーンショットは、適切な値が15の最後の2つのプロセスを示す最後の2行を示していますsshd: root@pts/3
。
編集する
以下は、プロセスをどれだけうまく増減できるかを示すスナップショットです。
編集2:
簡単な説明をすると、一般ユーザーでも親近感の値を変更できます。