13:20頃が普通に負荷をかけた状況
13:40頃が試行錯誤後の状況です
今回負荷をかけるために使用したのは、super piというツール。
パラメータを21として早速実行してみました
./super_pi 21
一発目は3:39
------ Started super_pi run : 2011年 8月 24日 水曜日 13:19:24 JST Start of PI calculation up to 2097152 decimal digits End of initialization. Time= 0.543 Sec. I= 1 L= 0 Time= 1.599 Sec. I= 2 L= 0 Time= 1.859 Sec. I= 3 L= 1 Time= 1.846 Sec. I= 4 L= 2 Time= 1.870 Sec. I= 5 L= 5 Time= 1.855 Sec. I= 6 L= 10 Time= 1.846 Sec. I= 7 L= 21 Time= 1.867 Sec. I= 8 L= 43 Time= 1.998 Sec. I= 9 L= 87 Time= 1.857 Sec. I=10 L= 174 Time= 1.863 Sec. I=11 L= 349 Time= 1.867 Sec. I=12 L= 698 Time= 1.863 Sec. I=13 L= 1396 Time= 1.851 Sec. I=14 L= 2794 Time= 1.895 Sec. I=15 L= 5588 Time= 1.973 Sec. I=16 L= 11176 Time= 1.839 Sec. I=17 L= 22353 Time= 1.820 Sec. I=18 L= 44707 Time= 1.806 Sec. I=19 L= 89415 Time= 1.761 Sec. I=20 L= 178831 Time= 1.800 Sec. End of main loop End of calculation. Time= 39.002 Sec. End of data output. Time= 0.171 Sec. Total calculation(I/O) time= 39.173( 4.013) Sec. ------ Ended super_pi run : 2011年 8月 24日 水曜日 13:24:03 JST
後半はsteal発生しまくり
続けて二回目を実行すると最初からsteal発生しまくりで7:32
------ Started super_pi run : 2011年 8月 24日 水曜日 13:24:30 JST Start of PI calculation up to 2097152 decimal digits End of initialization. Time= 0.587 Sec. I= 1 L= 0 Time= 1.706 Sec. I= 2 L= 0 Time= 2.113 Sec. I= 3 L= 1 Time= 2.018 Sec. I= 4 L= 2 Time= 1.840 Sec. I= 5 L= 5 Time= 1.844 Sec. I= 6 L= 10 Time= 1.891 Sec. I= 7 L= 21 Time= 1.954 Sec. I= 8 L= 43 Time= 1.957 Sec. I= 9 L= 87 Time= 1.878 Sec. I=10 L= 174 Time= 1.857 Sec. I=11 L= 349 Time= 1.871 Sec. I=12 L= 698 Time= 1.944 Sec. I=13 L= 1396 Time= 2.012 Sec. I=14 L= 2794 Time= 2.037 Sec. I=15 L= 5588 Time= 1.841 Sec. I=16 L= 11176 Time= 1.852 Sec. I=17 L= 22353 Time= 1.815 Sec. I=18 L= 44707 Time= 1.793 Sec. I=19 L= 89415 Time= 1.739 Sec. I=20 L= 178831 Time= 1.616 Sec. End of main loop End of calculation. Time= 39.638 Sec. End of data output. Time= 0.181 Sec. Total calculation(I/O) time= 39.819( 4.014) Sec. ------ Ended super_pi run : 2011年 8月 24日 水曜日 13:32:02 JST
cpu使用率を制限しちゃえばsteal発生せずに済むんじゃね?
ってことで、cpulimitというツールを使ってcpu使用率を制限してみました。
こんな感じでsuper piのcpu使用率上限を18%に設定
cpulimit -e pi -l 18
1回目は殆どsteal発生せずで3:28
------ Started super_pi run : 2011年 8月 24日 水曜日 13:44:04 JST Start of PI calculation up to 2097152 decimal digits End of initialization. Time= 0.546 Sec. I= 1 L= 0 Time= 1.637 Sec. I= 2 L= 0 Time= 1.873 Sec. I= 3 L= 1 Time= 1.865 Sec. I= 4 L= 2 Time= 1.861 Sec. I= 5 L= 5 Time= 1.878 Sec. I= 6 L= 10 Time= 1.869 Sec. I= 7 L= 21 Time= 1.879 Sec. I= 8 L= 43 Time= 1.877 Sec. I= 9 L= 87 Time= 1.864 Sec. I=10 L= 174 Time= 1.873 Sec. I=11 L= 349 Time= 1.877 Sec. I=12 L= 698 Time= 1.882 Sec. I=13 L= 1396 Time= 1.843 Sec. I=14 L= 2794 Time= 1.858 Sec. I=15 L= 5588 Time= 1.849 Sec. I=16 L= 11176 Time= 1.860 Sec. I=17 L= 22353 Time= 1.829 Sec. I=18 L= 44707 Time= 1.829 Sec. I=19 L= 89415 Time= 1.751 Sec. I=20 L= 178831 Time= 1.654 Sec. End of main loop End of calculation. Time= 38.643 Sec. End of data output. Time= 0.170 Sec. Total calculation(I/O) time= 38.813( 3.936) Sec. ------ Ended super_pi run : 2011年 8月 24日 水曜日 13:47:32 JST
続けて2回目を実行しても殆どsteal発生せず1回目と同等の3:36
------ Started super_pi run : 2011年 8月 24日 水曜日 13:47:34 JST Start of PI calculation up to 2097152 decimal digits End of initialization. Time= 0.570 Sec. I= 1 L= 0 Time= 1.660 Sec. I= 2 L= 0 Time= 1.862 Sec. I= 3 L= 1 Time= 1.888 Sec. I= 4 L= 2 Time= 1.892 Sec. I= 5 L= 5 Time= 1.890 Sec. I= 6 L= 10 Time= 1.862 Sec. I= 7 L= 21 Time= 1.858 Sec. I= 8 L= 43 Time= 1.905 Sec. I= 9 L= 87 Time= 1.877 Sec. I=10 L= 174 Time= 1.882 Sec. I=11 L= 349 Time= 1.883 Sec. I=12 L= 698 Time= 1.862 Sec. I=13 L= 1396 Time= 1.873 Sec. I=14 L= 2794 Time= 1.865 Sec. I=15 L= 5588 Time= 1.870 Sec. I=16 L= 11176 Time= 1.864 Sec. I=17 L= 22353 Time= 1.842 Sec. I=18 L= 44707 Time= 1.830 Sec. I=19 L= 89415 Time= 1.756 Sec. I=20 L= 178831 Time= 1.645 Sec. End of main loop End of calculation. Time= 38.825 Sec. End of data output. Time= 0.170 Sec. Total calculation(I/O) time= 38.995( 3.964) Sec. ------ Ended super_pi run : 2011年 8月 24日 水曜日 13:51:10 JST
てことで、継続的に高いcpu使用率となるプロセスはインスタンス内でcpu使用率を制限してしまえばstealの発生を抑えられるようです。
合計で20%以下ぐらいになるように調整するとsteal発生せずに済むようです。
0 件のコメント:
コメントを投稿