2012-04-23 14 views
3

Solaris OSを実行しているサーバーがあります。私は特定のプロセスにプロセッサの数をバインドしたい。私は次のコマンドを試しました:Sun Solaris OS上の複数のプロセッサへのバインド処理

1)ps:プロセスIDを取得します。

bash-3.00$ ps -ef | grep java 
bileng 10708 10695 3 12:20:59 pts/1  0:26 /opt/billengine/jdk1.6.0_29/bin/sparcv9/java -Dprogram.name=run.sh -Xloggc:./jb 

2)psrinfo:プロセッサIDを取得します。

bash-3.00$ /usr/sbin/psrinfo 
0  on-line since 11/04/2013 16:22:17 
1  on-line since 11/04/2013 16:22:18 
2  on-line since 11/04/2013 16:22:18 
3  on-line since 11/04/2013 16:22:18 
4  on-line since 11/04/2013 16:22:18 
5  on-line since 11/04/2013 16:22:18 
6  on-line since 11/04/2013 16:22:18 
7  on-line since 11/04/2013 16:22:18 

3)pbind:プロセスをプロセッサにバインドします。私はプロセスIDを7にプロセッサ番号4をバインドしたい

が故に10708.を言って、私は、以下のコマンドを試してみました:

bash-3.00$ /usr/sbin/pbind -b 4-7 10708  
/usr/sbin/pbind: invalid processor ID 4-7 

4)しかし、私は、プロセスIDに単一のプロセッサIDを結合しようとすると、

bash-3.00$ /usr/sbin/pbind -b 4 10708 
process id 10708: was not bound, now 4 

5)しかし、私の要件は、単一のプロセスIDに複数のプロセッサをバインドするである:それは動作します。

私はすべてのマニュアルページとドキュメントを調べてみましたが、手がかりを得ることはできませんでした。

誰でも同じポインタを提案してください。

ありがとうございました。

+0

元のコマンドは、 '-b 4-7 10708'は、Solaris 11.2で動作しますコマンドpbind。 – mob

答えて

3

のSolarisでこれを行うためのツールがpsrset

であるあなたは、この新しいプロセッサのIDを返します

psrset -c 4-7 

とプロセッサセットを作成後

created processor set ps_id 

を設定することができますプロセスをプロセッサセットにバインドする

psrset -b ps_id pid 
+0

こんにちはドミトリ、ありがとう。プロセッサセットは 'psrset'で作成されます。しかし、私は同じものにroot特権が必要です。それ以外の場合は 'error:/ usr/sbin/psrset:プロセッサセットを作成できませんでした:所有者ではありません 'と表示されます。とにかく、root以外のユーザーからプロセッサーセットを作成する方法はありますか? –

+0

あなたの/ etc/user_attrにsys_res_configが必要です。ゾーンが設定されている場合は、大域ゾーンにログインする必要があります。 –

関連する問題