

非常に負荷の高いプログラムを実行している時に、CPU使用率が100%になり、高負荷になることが気になっていまして、CPU使用率やマシン負荷が軽減できないか、方法などを模索しています。
少し処理時間が掛かっても良いので、負荷を減らし時間で解決できればと考えています。
niceコマンド、priocntlコマンド(root権限で実行)で、プロセスの優先度の設定をしつつ、プロセスの実行ができることは分かったのですが、topコマンドでCPU使用率のところを見ると、0% idle状態なのはnice/prioctl未使用時とくらべ、変化はなく、効果の具合がよく分かりませんでした。
また、priocntlはroot権限で実行しないといけないようで、一般ユーザでの実行を考えているので、これもNGかなと思っています。
なにか解決策はありませんでしょうか?ご存じの方がいらっしゃいましたら、教えて頂けませんか。
よろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>こういった話しがオフィシャル文書として記載されているURLや書籍などあれば有り難いのですが、ご存じでしょうか?
>つまり、CPU使用率100%が持続しても不安にならなくて良いです、という説明&説得情報が欲しいです。
書籍などでは知りませんが、仕事で、大企業のメインフレームや巨大サーバーを使った基幹業務システムのインフラ設計構築をしてきた経験からすると、日中のユーザー端末からの問い合わせ応答処理優先の時間帯ではmax80%出来れば60%くらい、夜間の大量データ処理の時はおおむねIOバウンドなので処理多重度を上げて効率的に処理できるようにして、ピーク時間帯は100%でも問題なしというのが実情です。ただ、ワークステーションのような機種だと、長時間CPU高負荷が続くことを放熱設計や部品のグレードなどの観点で想定していないことも考えられます。コンピュータールームに設置することを想定したサーバーなら大丈夫だと思いますが。
仕事でお使いならメーカーの営業マンに聞いてみてください。
No.2
- 回答日時:
Solaris9以降であればSolaris 9 Resource Managerが使えるかもしれません。
ただリソースの割り当て設計は慎重に行うべきです。
下手な設計をすることで当該プログラムの処理時間が長くなる可能性もあります。
参考URL:http://jp.sun.com/products/software/solaris/faq/ …
No.1
- 回答日時:
CPU100%であっても、そのために他のプログラムの動作に影響が出ていなければ問題ありません。
大企業の業務システムでもいわゆる夜間バッチ処理ではCPU使用率100%が数分から場合によっては数時間続きます。
I/O処理が入る場合はI/O待ち時間が入るのでCPU100%にはなりませんが、計算や探索などCPUとメモリしか使わない処理の場合は、いくら優先度を下げてもCPUは他にすることが無いわけで100%その処理をするしかないわけです。
発熱等の問題でCPU使用率を下げたいなら、CPUを強制的に短時間ずつ止めるようなプログラムを作って同時に走らせるしかないです。WindowsノートPC用ならそういう「ソフトCPUクーラー」というプログラムもありますが、Solaris用だと作るしか無いでしょうね。
notnotさん、ご回答ありがとうございます。
なるほど、他にすることがなければSolarisが判断してCPUをどんどん使うような動きをするわけですね。そのため、CPU使用率が100%な状態が続くということなのですね。
MRTGというフリーウェアを使い、ログファイル(200行程度)からグラフファイル(内部的にはgd,GDを使用?)を生成する処理を行っていまして、激しいI/O処理は無いと思われます。
こういった話しがオフィシャル文書として記載されているURLや書籍などあれば有り難いのですが、ご存じでしょうか?
つまり、CPU使用率100%が持続しても不安にならなくて良いです、という説明&説得情報が欲しいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの表にヘンな枠が・・・
-
SONYの音楽ソフト「x-アプリ」...
-
バッチファイル内の各コマンド...
-
pingは正常なのにtracerouteで...
-
最初の一度しか実行されないロ...
-
sudoで実行したコマンドの実行...
-
python IDLEで訂正、削除のやり...
-
端末上でgnome-terminal -e lsを
-
不必要なサービス?svchost.exe
-
Windows VistaやWindows7にて、...
-
logrotateの実行ユーザ
-
コマンドプロンプト Windows
-
エクセルからアクセスのプロシ...
-
WindowsScript で実行し終了を...
-
常に全画面表示するには・・・
-
shutdownコマンド実行の残り時...
-
既存フォレストの既存ドメイン...
-
エクセル時間毎ごとにマクロを...
-
コマンドプロンプト「システム...
-
コントロールパネル
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SONYの音楽ソフト「x-アプリ」...
-
エクセルの表にヘンな枠が・・・
-
pingは正常なのにtracerouteで...
-
Linux のシェルスクリプトの強...
-
SPI非言語の問題 解説お願いします
-
sudoで実行したコマンドの実行...
-
Openイベントを開始させないで...
-
windows10のごみ箱をrd /s /q C...
-
シャットダウンバッチがうまく...
-
emacsでCtrl+zを押してサスペン...
-
最初の一度しか実行されないロ...
-
PowerShellのスクリプト実行に...
-
python IDLEで訂正、削除のやり...
-
ACCESSレポートをPDFに出力したい
-
バッチファイル内の各コマンド...
-
時間のマクロで最初はその時間...
-
LD_LIBRARY_PATHって?
-
コマンドプロンプトとcmdの違い
-
文化祭の書類で不備がありました
-
ROBOCOPY cmdで正常に処理され...
おすすめ情報