RadarURL

조회 수 1134 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

top 에서 보여주는 것 중에
cpu 정보에 보면
us, sy, ni, hi, si, wa 라는게 있던데
 이중에 ni, hi, si, wa 가 궁금합니다.
구글링 중에 찾은 것은

ni = nice
 hi = ? Probably hard interrupt
 si = ? Probably soft interrupt
 wa = IO wait

라는 이야기가 있던데
 그럼 여기서 nice 는 뭘 의미하고,
hard interrupt 와 soft interrupt 의 차이는 뭔가요?

그리고 IO wait 은 그럼 IO 를 기다리는 동안 다른 프로세스로 스케줄링을 하지 않고 그냥 해당 프로세스의 IO 를 기다린다는 건가요?
만약 그렇다면 왜 그런 비효율적인 작동을 하는거죠?(DMA 나 SCSI 가 아닌 경우 때문인가요?)



답변 :

nice는 아시다시피 유닉스에서 프로세스의 우선순위를 의미합니다. top

글쓴이: wariua 작성 일시: 토, 2006/02/25 - 1:44오전


nice는 아시다시피 유닉스에서 프로세스의 우선순위를 의미합니다. top 표시 내용 중 ni(nice)는 "기본값보다 낮은 우선순위로 사용자 공간에서 실행된 시간"을 의미합니다. 따라서 us(user)는 정확하게는 "기본값으로, 혹은 그보다 높은 우선순위로 사용자 공간에서 실행된 시간"을 의미합니다.

hi(hard interrupt)는 "순수한(?) 인터럽트 핸들러에서 사용한 시간"을 의미합니다. 하지만 인터럽트 핸들러는 수행중 다른 인터럽트를 꺼버리기 때문에 가능하면 빨리 실행을 마쳐야 합니다. 그래서 시간이 걸릴 만한 작업은 잠시 미뤄뒀다가 실행합니다. (나중에 인터럽트 처리 작업을 마저 처리하는 부분을 "bottom halves"라고 부르더군요. 인터럽트 핸들러는 "top halves"라고 부르고요.) "잠시 미뤄둔 인터럽트 처리 작업에 사용한 시간"이 바로 si(soft interrupt) 항목입니다.

wa(I/O wait)은 I/O를 기다리는 시간이 맞습니다. 어떤 프로세스가 I/O 때문에 wait 상태로 들어갈 때 즉시 실행 가능한 다른 프로세스가 있으면 그 프로세스를 실행하지만 그렇지 않은 경우는 어쩔 수 없이 I/O 대기 작업 중 하나가 완료될 때까지 대기해야 합니다. 그 때 사용한 시간이 wa입니다. 모든 프로세스가 I/O 완료가 아닌 다른 이벤트를 기다리면서 쉬고 있으면 이는 id(idle) 항목에 해당합니다.

항목들 간의 관계를 좀 정리하자면...

◦wa(I/O wait)과 id(idle)은 모두 대기 시간입니다. I/O를 기다리는 프로세스가 하나라도 있으면 wa에 카운트 되고 그렇지 않으면 id에 카운트 됩니다.
◦hi(hard interrupt)와 si(soft interrupt)를 합치면 인터럽트 처리에 쓰인 시간이 됩니다. 인터럽트 핸들러 자체에서 잠깐 쓴 시간은 hi에, 미뤄둔 처리 작업에 쓰인 시간은 si에 카운트 됩니다.
◦sy(system)는 wa,id,hi,si를 제외하고서 커널 내에서 쓰인 시간입니다. hi, si도 (그리고 더 정확하게는 wa와 id도) 커널 내의 시간이라고 할 수 있지만 sy 항목의 계산에서는 제외됩니다.
◦us(user)와 ni(nice)를 합하면 사용자 공간에서 실행된 시간입니다. 기본 우선순위보다 낮은 우선순위로 실행되느냐의 여부로 us와 ni 중 하나로 카운트 됩니다.


뱀발로... top 프로그램의 실행 결과는 결국 /proc/stat 파일의 내용을 파싱해서 뿌려주는 것입니다. 그런데 /proc/stat 출력 결과를 보면 프로세스별로 7개가 아니라 8개의 항목이 있습니다. 마지막 항목은 "steal" 항목으로 "프로세스가 비자발적으로 대기하는 데에 사용한 시간"라고 합니다... 만 현재 커널에서는(2.6.15 기준) 카운트를 하지 않고 있습니다.


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


제가 개발자 종족인지라 세부적인 내용들은 소스 코드에서 얻은 정보입니다.

글쓴이: wariua 작성 일시: 토, 2006/02/25 - 11:45오후


제가 개발자 종족인지라 세부적인 내용들은 소스 코드에서 얻은 정보입니다...;;;

본래 top의 man페이지에서 알 수 있어야 할 정보인데 거기선 찾지를 못했고, vmstat 페이지 및 proc 페이지의 "/proc/stat" 항목에서 대략적인 정보는 얻을 수 있었습니다. 인용하자면


man vmstat wrote:
us: Time spent running non-kernel code. (user time, including nice time)
sy: Time spent running kernel code. (system time)
 id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time.
 wa: Time spent waiting for IO. Prior to Linux 2.5.41, shown as zero.


man proc wrote:
cpu 3357 0 4313 1362393
 The number of jiffies (1/100ths of a second) that the system spent in user mode, user mode with low priority (nice), system mode, and the idle task, respectively. The last value should be 100 times the second entry in the uptime pseudo-file.


 proc 페이지의 내용은 2.4.x 커널 기준인 듯 합니다.



출처 : https://kldp.org/node/65018

?

공부 게시판

공부에 도움되는 글을 올려주세요.

  1. [공지] 공부 게시판 입니다.

    Date2003.08.18 By처누 Views928102
    read more
  2. http를 https로 리다이렉트하는 여러가지 방법

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views0
    Read More
  3. SSL인증서 없이 HTTPS에서 HTTP로 되돌리기

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views2
    Read More
  4. [SSL] win-acme, Let's encrypt로 무료 SSL 인증서 발급

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views0
    Read More
  5. [SSL] Windows 10에서 Let's Encrypt로 SSL 인증서 무료 발급받기

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views0
    Read More
  6. 무료로 https SSL/TLS 인증서를 발급받을 수 있는 인증 기관

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views0
    Read More
  7. 아파치 서버에 https SSL 인증서 적용하는 방법 (apache httpd)

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views0
    Read More
  8. 아파치2(Apache2) SSL HTTPS 적용하기

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views0
    Read More
  9. 아파치 웹서버에 멀티 도메인에 대한 80, 443 포트 설정하는 방법

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views0
    Read More
  10. Google Photo 대신 Immich를 써보자

    Date2025.08.07 Category소프트웨어 ByJaeSoo Views126
    Read More
  11. [사진관리] PhotoPrism vs LibrePhoto 비교 소감

    Date2025.05.19 Category소프트웨어 ByJaeSoo Views14
    Read More
  12. 윈도우 자동 로그온 설정이 보이지 않을 때 조치사항

    Date2024.08.16 Category윈도우즈 ByJaeSoo Views203
    Read More
  13. 핸드폰 연락처 한방에 깔끔하게 정리하기 - by.컨택에디터(Contact Editor)

    Date2024.05.27 Category소프트웨어 ByJaeSoo Views31
    Read More
  14. Rufus 로 윈도우10 usb 디스크를만들때 UEFI,Legacy 설정 (4G 이상 부팅 이미지 GPT)

    Date2023.11.20 Category윈도우즈 ByJaeSoo Views2260
    Read More
  15. Windows 11에서 모든 시스템 트레이 아이콘을 관리하고 표시하는 방법

    Date2023.11.05 Category윈도우즈 ByJaeSoo Views1367
    Read More
  16. 윈도우11 작업 표시줄 좌/우/상/하 이동 및 두 줄 만드는 방법

    Date2023.11.05 Category윈도우즈 ByJaeSoo Views1250
    Read More
  17. 윈도우11의 마우스 오른쪽 버튼 메뉴, 기존 윈도우 형태로 되돌리는 방법

    Date2023.10.25 Category윈도우즈 ByJaeSoo Views913
    Read More
  18. [Msoffice] Pdfmaker office addin 오류 해결방법

    Date2023.08.21 Category윈도우즈 ByJaeSoo Views3776
    Read More
  19. [U2L] Unix to Linux 기대효과 분석

    Date2023.05.16 Category유닉스/리눅스 ByJaeSoo Views1258
    Read More
  20. 리눅스 inodes full 이슈 해결 방법

    Date2023.05.02 Category유닉스/리눅스 ByJaeSoo Views169
    Read More
  21. inode full

    Date2023.05.01 Category유닉스/리눅스 ByJaeSoo Views115
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 33 Next
/ 33


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너