[일반] 한 시스템에서 적절한 프로

befoed의 이미지

안녕하세요..
이곳에 여러 고수님들이 계서서 도움을 요청해 봅니다.
이번에 다른 회사와 함께 프로젝트를 하게 되었습니다.
거의 리얼타임성으로 돌아야 하는 작업들 입니다.
그런데 문제는 그쪽에서 1000개 정도의 프로세스를 띄워서 ,
전체적으로 시스템 성능이 무지하게 좋지 않아졌다는 것입니다.
이것때문에 전체적인 영향이 있어서 저희쪽 프로세스 까지 영향을 미치는군요.
아무리 프로세스수를 줄여라 라고 말을 해도 듣지를 않습니다. 불가 하답니다. ㅡㅡ;;
말고 그냥 프로세스수를 줄이라고 하니 듣지를 않아 , 이론적인 자료를 좀 첨부해서 , 제출을 하려고 합니다.
혹시 이런것에 대한 이론 자료가 있으신분이나 , 혹시 자료가 있는곳을 아시는 분은 부탁 드리겠습니다... 이것때문에 프로젝트도 끝내지 못하고 벌써 몇달째인지 모르겠습니다.
특정 디바이스를 써야 하기 때문에 LINUX Version이나 System 자원은 한정되어 있습니다. 즉 업그레이드가 불가 하다는 얘기지요..
참고로 시스템 정보를 같이 첨부 합니다.

============================================
CPU : Pentium3-1.2G ( Pentimu4-2.0G 가능 )
Memory : 1G ( 2G 가능 )
HDD : 80G * 2 ( RAID 1 구성 )

LINUX : RH 7.3 ( Kernel : 2.4.18-5 )

감사합니다.

datamind의 이미지

쩝 -.-;; 자료를 찾으니깐 잘 안보이네요...
제경험상으론 프로세서 100개정도 띄우면,
시스템 버벅거리던데요...
그럼, 도움이 되셨기를...

leilei의 이미지

허접 의견이지만..

우선순위를 조절하는 방법으로는 안될까요?

befoed의 이미지

답변 달아 주신분들 감사합니다.
datamind 님 분명히 체감상으로도 느려 집니다. 그런데 이를 증명할만한 자료가 없으니 답답하네요..
leilei님 전부 중요한 프로세스 이기 때문에 우선순위로 처리하기에는 좀 곤란 합니다...
오늘도 하루종일 자료를 찾아 돌아 다녀 봤지만 , 역시 체계적인 이론으로 만들어논 자료는 못찾겠네요..대학교 논문집이라도 찾으로 돌아 다녀야 할런지...
대충의 결론은 프로세스가 많아지면 context swich가 많이 일어 나기 때문에 시스템 성능이 느려진다...이건데 ..
이렇게 얘기를 할려면 그럼 몇개의 프로세스가 기동되었을때 임계치로 돌아 갈수 있는지 ,, 즉 프로세스수와 context swich의 상관관계에 대한 공식이 필요한데 이것을 찾을수가 없네요..
에효...정 안되면 노가다로 일일이 프로세스 갯수때마다 리포트 자료 만들어야 겠네요..ㅠㅠ

싸인문구;;남들은 멋있게 쓰던데..난 멀해야 할까..

choissi의 이미지

http://lse.sourceforge.net/scheduling/results012501/status.html

이걸 참고 하시고요..

제 경험으로는 2.4.x대 커널은 200~300개 정도가
적당합니다.

울랄라~ 호기심 천국~!!
http://www.ezdoum.com

김충길의 이미지

vmstat 로는 도움이 안될까요.

screen + vim + ctags 좋아요~

befoed의 이미지

choissi님 감사합니다. 많은 도움이 되었습니다.
김충길님 감사합니다. vmstat으로 측정해보면 평균 CPU IDLE이 약 15% 정도 입니다. 그정도면 괜찮은거 아니냐구 오히려 반문합니다. 그래서 더욱더 괴롭습니다.
답변달아 주신분들 모두 감사 드립니다.

싸인문구;;남들은 멋있게 쓰던데..난 멀해야 할까..

singlet의 이미지

잘은 모르는 주제입니다만 (게다가 늦었을지도 모르지만) 혹시 도움이 될까 해서 올려봅니다. :) 2.4 커널과 2.6 커널 사이의 벤치마크 비교 결과입니다.

http://developer.osdl.org/craiger/hackbench/

김충길의 이미지

CPU뿐만 아니라 I/O, 메모리도 같이 보세요. page fault 도 보세요.
CPU가 남는다고 해서 항상 CPU를 사용할 수 있는
상황은 되지 않습니다. 여러 파라메터를 다각도로 봐야 합니다.
I/O 때문에 cpu가 대기 하기도 하죠.

befoed wrote:
choissi님 감사합니다. 많은 도움이 되었습니다.
김충길님 감사합니다. vmstat으로 측정해보면 평균 CPU IDLE이 약 15% 정도 입니다. 그정도면 괜찮은거 아니냐구 오히려 반문합니다. 그래서 더욱더 괴롭습니다.
답변달아 주신분들 모두 감사 드립니다.

screen + vim + ctags 좋아요~

hb_kim의 이미지

원하시는 답변은 아닐지 모르지만 한 시스템에 프로세스 1000개 띄우는 것이 근본적으로 문제점이라고 보긴 어렵군요. 실제로도 많은 고성능 시스템에서 그렇게 디자인해서 사용되고 있으니까요.

오히려 준 리얼타임성으로 실행되어야 하는 작업이 있는데 애플리케이션 레벨에서 실행되는게 문제가 아닐까요?

atie의 이미지

2.4 커널의 프로세스와 인터럽트 관리에 대한 글입니다.
http://www.faqs.org/docs/kernel_2_4/lki-2.html

프로세스의 최대 갯수는 실제 메모리의 크기에 의해서만 제한된다고 첫 부분에 나오는군요. 그리고, /proc/sys/kernel/threads-max에 기본 정의된 수가 1000 보다는 훨씬 클테니까 프로세스 1000개가 문제가 아니라 메모리 크기가 문제일 듯 싶군요.

----
I paint objects as I think them, not as I see them.
atie's minipage

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.