리눅스 top cpu 해석
글쓴이: frjufvjn / 작성시간: 목, 2015/01/08 - 1:58오후
안녕하세요 매일 구과장님을 통해 이싸이트에서 도움을 얻다가
오늘은 처음 글을 올려봅니다.
아래 첨부파일의 캡쳐를 보시면
cpu코어 별로 상태가 나오고
그 밑에 프로세스별로 항목이 보이는데
밑에 나오는 java 프로세스가 100%를 점유하고 있다는건
전체 cpu사용량이 100%는 아닌것으로 알고 있습니다.
그렇더라 하더라도 100%라는 숫자는 먼가 서버 자원사용률 측면에서 껄끄러운 생각이
드는데
위험수준이라고 판단해야 하는지 고수님들의 의견을 부탁드립니다.
File attachments:
첨부 | 파일 크기 |
---|---|
dd.jpg | 229.28 KB |
Forums:
별 문제 없어 보입니다
비싼 돈 주고 CPU 샀으면 일 시켜야죠. :P
해당 프로세스가 원래 CPU를 많이 쓰면 안 되는 프로세스인지를 확인해 보셔야 할 것 같습니다. 해당 프로세스의 병목이 디스크/네트웍인데 CPU가 100%라면 뭔가 문제가 있는 거고, 원래 CPU를 써야 하는 상황이라면 (DB에서 메모리에 다 들어가는 데이터를 주고 소팅을 시킨다든지...) 100%를 쓰는 게 좋은 거죠. (아예 600%쯤 쓰고 여섯 배 빨리 끝내면 훨씬 더 좋겠습니다만...)
해당 application이 SMP를 지원하도록
해당 application이 SMP를 지원하도록 만들어져 있는 것이 아니라면, 사용할 수 있는 최대의 성능을 내고 있는 것입니다. 이 문제는 해당 application이 하는 job이 부하가 걸리고 있다고 판단할 수도 있다는 의미입니다. 100%라는 것이 꼭 부하가 걸린 상태라고 확언할 수는 없습니다. 이 부분은 서비스에 문제가 되고 있냐 안되고 있냐를 가지고 판단할 수 밖에는 없습니다. (상당히 주관적이라는 것이죠) 다만 수치만 놓고 보자면 문제가 될 확률이 높다라고 얘기를 할 수 있는 것입니다.
물론 말씀하신대로 system 자체의 resource는 문제가 없지만, java process가 single process로 동작하고 있다면 해당 application은 한계에 직면했다고 판단을 할 수 있습니다.
방법으로는 더 빠른 cpu를 지원하든지, 아니면 process를 여러개 사용하여 놀고 있는 cpu resource를 사용하게 하든지 해야 하지 않을까 싶습니다. (할 수 있을지는 모르겠지만, 일단은 놀고있는 다른 core들이 있기 때문에 후자가 맞는 방법이겠죠)
일단 이런 문제는 수치만 보고서는 지금 어떻다라고 조언을 드릴 수 있는 건 없습니다.
댓글 달기