Linux:他の実行中のプロセスがプロセスの速度を遅くするかどうかを確認する方法

Linux:他の実行中のプロセスがプロセスの速度を遅くするかどうかを確認する方法

RHEL 6.3システムでプロセスが実行されています。とにかく、これは他のシステムで実行されているのと同じプロセスよりも処理に時間がかかります。プロセスが遅く実行される理由、またはプロセスを遅くする並列に実行される他のプロセスがあるかどうかはどうすればわかりますか?

ベストアンサー1

topまたはを使用して何が起こっているのかをデバッグしてみることもできますhtop

top&htop特定のプロセスによって消費されるリソースの量を表示します。プロセスを次のように実行します。/usr/bin/time myproc実際に開始するのにどれくらいの時間がかかっているかを確認します。このコマンドは両方のシステムで同じユーザー時間ですが、異なる実行時間を表示する必要があります。

プロセスが各システムで同じ量の「有効な」時間を費やしていることを確認した後、または「他の」プロセスがシステムの速度を低下させ、プロセスがmachineA.machineA Bでより長い時間を費やしていることを確認できtopますhtop

はい

次のスクリプトがあるとしますdoit.bash

#!/bin/bash

a=0
while [ 1 ]; do
  let a=a+1
  (( $a==100000 )) && exit
done

その後、削除されたシステムで実行しました。

$ /usr/bin/time ./doit.bash 
1.25user 0.10system 0:01.38elapsed 98%CPU (0avgtext+0avgdata 1272maxresident)k
0inputs+0outputs (0major+366minor)pagefaults 0swaps

その後、このコマンドを実行してボックスのいくつかの負荷をシミュレートしました。

$ dd if=/dev/zero of=/dev/null

繰り返し実行doit.bash

$ /usr/bin/time ./doit.bash 
2.32user 0.20system 0:02.98elapsed 84%CPU (0avgtext+0avgdata 1268maxresident)k
0inputs+0outputs (0major+365minor)pagefaults 0swaps

doit.bashフルユーザー時間と実行時間の両方で実行時間が長くなることを確認できます。

  • run1 - (ユーザー): 1.25秒 - (経過): 1.38秒
  • run2 - (ユーザー): 2.32秒 - (経過): 2.98秒

メモ:完了したら、Ctrl+がCコマンドを実行していることを確認してください。dd

おすすめ記事