과부하 프로그램 제작 (테스트용)

idrukawa의 이미지

cpu 과부하 제어를 하기위해 cpu 과부하를 발생시키는 프로그램을 작성했습니다.
대단할건 없고 그냥 무한루프돌리는 건데요

for( ; ; ){

}

이런식으로요...

그런데 뻣(but) 개인pc에서는 90%이상의 cpu사용률을 자랑(?)하는데

서버에서는 6%밖에 사용하지 못하네요 ㅠ

이 현상을 어떻게 해석하시는지요?

제가 보았을때 무한루프를 돌리면 점유할 수 있을 만큼의 cpu자원을 사용할것으로 예상했는데 말입니다...

------------------------------

ps : 서버 맛가게 하지 않을정도의 과부하 프로그램(80%정도의 사용률) 힌트좀 주세요~

whitelazy의 이미지

그냥 단순 반복문이면... 요즘쓰는 대부분의 서버라면 멀티코어/CPU인 경우가 많으니 그중 코어 1개밖에 사용 못합니다.

아니면 그냥 컴파일러단에서 최적화 시켜버렸을지도요..

swirlpotato의 이미지

쓰레드 쓰시거나 포크 하시면 됩니다.
그리고 거기에서 무한 루프 도시면 됩니다.

idrukawa의 이미지

thread 생성해서 무한루프 돌려보겠습니다.

--------------------------------------------------

thread 하나당 6% 조금넘는 사용률을 보입니다.

thread를 10개 생성해서 cpu사용률을 60%이상으로 잡게했습니다.

priority값을 최대로 주어 우선순위를 낮추었습니다.

그래도 60%의 사용률을 보입니다.

왜그럴까요? ㅠ

swirlpotato의 이미지

gcc로 컴파일 하셨다면 어셈 파일로 뽑으셔서 보여주세요 -S 옵션이던가 -s옵션입니다.

volatile int i;
while (1) {
i++;
}

이걸로 바꿔보시기도 해보세요

idrukawa의 이미지

g++ t.cpp -S (대문자 S)

결과입니다.

------------------------------

t.s는 확장자때문에 첨부가 안된다고 합니다;;

idrukawa의 이미지

과부하 프로세스는 제대로 작성된것 같습니다.
단지 main은 thread를 여러개 생성하고
각 thread에서 for( ; ; )로 무한루프만 돌 뿐이니까요...

제가 생각하기로
과부하 프로세스와 cpu점유를 놓고 경쟁하는 프로세스가 없어서
priority를 낮춰도 과부하 프로세스가 계속 cpu를 사용하는 것 같습니다.

------------------------------------------------------------

이녀석을 제어할 수 있는 방법이 없을까요?
현재 thread를 10개 만들어서 60%의 cpu사용률을 보이는데요
10%~30% 범위로 낮추고 싶습니다만...

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.