프로그램 작성시 cpu점유율 100%로 계속 유지되지 않게 하는방법 없을까요?

seunghoon의 이미지

영상처리 관련된 간단한 프로그램인데 반복되는 연산이 아주 많습니다. 우선 결과 데이터를 받아야 하기 때문에 돌리고 있는데

화면에 cpu0온도가 상승해서 cpu클럭을 낮춘다는 말이 계속 뜹니다. 프로그램을 돌리때 cpu 점유율이 계속 100%상태를

유지해서 그런것 같은데 중간에 cpu를 좀 쉬게 한후 다시 돌리는 방법 없을까요??

아님 cpu온도를 낮추기위한 노하우좀 알려주세요 ~~~

-------------------------------------------
불태우자~~ 모두 새하얗게 될때까지~~~

coremaker의 이미지

매우.. 연산을 많이 수행하는... 프로세스 입니다..
일반적으로 OS의 정책 중에 이런 프로세스는 타임 퀀텀을 많이 부여하게 되구요...
다른 작업에 비해 Priority 도 상대적으로 높게 책정이 됩니다...

지금 같은 경우는 기본 OS의 스케줄링 정책과 연산량이 엄청나기 때문에 발생할 가능성이
높습니다...

이 경우.. 영상처리 프로그램을 직접 제작하셨다면..
중간중간에 Sleep 해주시는 방법을 (써도 괜찮나요?) 쓰거나...

스케줄링 정책을 변경( 매우 어렵죠.. 윈도우즈는 거의 불가능하겠구요? 맞나요? )하는
방법이 있을 것 같습니다...

일이 많은데 쉬게하는 것은 외부적인 환경 제어로는 무지하게 어려울 것 같습니다..
아.. 윈도우즈 같은경우 프로세스의 우선순위를 낮게 설정할 수 있는 것 같군요..
근데 실효성은 ;; 잘 모르겠습니다.. 흠..

아... 역시나.. 불확실한 정보를 말씀드렸군요.. 매우 죄송스럽습니다...

마잇의 이미지

쉬게해야 되는 건 코드를 수정하실 수 있으면 sleep을 쓰던지 아니면 쉘에서 C-z, fg를 번갈아 입력하듯이 외부에서 시그널을 주기적으로 보내는 건 어떨까요?

--
마잇


--
마잇

wish의 이미지

케이스를 열어 놓고 쓰세요 ^^;;;

아니면 쿨러를 바꾸세요. 본체를 통풍이 잘 되는 곳에 가져다 두고 쓰시는 것도 방법이고...

만약 서버실이나 IDC 에서 그런 현상이 일어난다면, 난감한 것 같네요. 서버로 만들어진 하드웨어가 CPU 100% 쓴다고 그 열을 제대로 처리 하지 못한다면, 환경이 나쁘든 서버 자체의 디자인이 나쁜 듯 하네요.

개인적으로 이런 경우에는 노트북이 아닌 이상, 소프트웨어적으로 해결할 일이 아닌 것으로 보입니다. 특별히 다중 작업을 할 것이 아니라면 CPU 활용률이 100%를 유지하고 있다는 것은 나쁘지 않은 것 같습니다만...

만약 소프트웨어 적으로 해결하셔야 된다면, 프로그램을 데몬 비슷하게 하고, 데이터를 받아서 그냥 저장만 하고 자체 스케줄러가 적당히 스케줄 해주는 것 정도가 생각이 나네요.

그리고 이 경우에는 우선 순위를 바꾸는 것은 크게 도움이 안 될 듯도 합니다. 우선 순위는 말 그대로 여러 프로세스가 자원 경쟁을 할 때 누가 더 먼저 많이 써야 하느냐를 나타내는 것인데, 지금은 하나의 프로세스가 100%를 사용하니 우선순위를 바꿔도 그 프로세스가 100% 를 사용하게 될 듯 합니다만~

음 그러고 보니 유닉스에 자원 제한을 걸어주는 게 있었던 거 같은데... 검색해보니.. ulimit -t 라는게 있네요. 프로그램 뛰우기 전에 저걸 쓰는 것도 방법이 될 듯 합니다.

irondog의 이미지

간혹 빠른 연산과 응답을 필요로 하는 작업에서는 일부러 cpu 타임 100%를 만들려고 구조를 바꾸기도 하는데 이번엔 거꾸로네요. ㅎㅎ

프로세스나 쓰레드로 나누기도 하고, event driven구조로 설계를 다시 하기도 하는데, 그러면 다시 프로그래밍을 해야 할 뿐더러 복잡해질테니까..

제일 쉬운 방법은 역시나 sleep()이 아닐까 싶습니다.

컴퓨터의 쿨링 시스템을 바꿔 보시는 것도 괜찮을 것 같은데... ^^;;

seunghoon의 이미지

^^ 답변 감사합니다. ~~^^ 지금 케이스 다 열어놓구 하니 문제가 아직까지는 발생하지 않네요 ^^ 중간중간 sleep()을 넣어놔야겠네요 ^^ 또 문제 발생하면 급한데로 선풍기까지 동원할 생각입니다. 임시방편이지만 ㅎㅎㅎ
-----------------------------------------------------
퍼지지말자~~!!! 아자아자~~
불태우자~~ 모두 새하얗게 될때까지~~~
the frontier spirit

-----------------------------------------------------
퍼지지말자~~!!! 아자아자~~
불태우자~~ 모두 새하얗게 될때까지~~~
the frontier spirit

neosphere의 이미지

케이스 열어 놓고 선풍기 틀어 놓으세요. 회사에서 일할때 단백질 70개 분석 시작하면 1-2주일정도 안쉬고 도는데, 케이스 열고 선풍기 틀어놓으니깐 죽지는 않더군요.^^
---------
Gentoo. Bioinformatics, Protein Interaction.

Gentoo. Bioinformatics, Protein Interaction.

ssehoony의 이미지

열때문에 cpu클럭이 다운되는게 컴터의 안정성에 영향을 주나요?
만약 그런것 때문에 sleep 을 넣겠다고 생각하셨다면 모르겠지만,
클럭이 다운되서 연산이 느려지는게 문제라서 sleep 를 넣는다면 이치에 맞지 않을 듯 하네요.
sleep 때문에 느려지나 클럭 다운때문에 느려지나 별반 차이 없을 듯 하네요.

seunghoon의 이미지

단순 계산이 많아서 속도는 어차피 느려서 속도는 별루 생각 안하고 있고 어차피 오래 걸리니까 돌려놓구 다른컴으로 노는데 자꾸 온도 올라간다고 신경 쓰이게 만들어서 문제입니다. ^^지금은 케이스 열어놓구 하니 별문제 없내요 ㅋㅋ 진작 케이스를 열어놓을걸 그랬네요 ^^
-----------------------------------------------------
퍼지지말자~~!!! 아자아자~~
불태우자~~ 모두 새하얗게 될때까지~~~
the frontier spirit

-----------------------------------------------------
퍼지지말자~~!!! 아자아자~~
불태우자~~ 모두 새하얗게 될때까지~~~
the frontier spirit

댓글 달기

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 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • 사용할 수 있는 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>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • You can use Textile markup to format text.
  • 사용할 수 있는 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>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 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>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.