프로세스 관리
◆ Program(Disk)
◆ Process (Memory)
◆ Thread(Instruction)
(1) 유형
◆ Foreground :
◇ 터미널 대화식 명령 실행
◇ 실행 --> 종료
◇ fg %jobID
◆ Background :
◇ 시스템 실행 비대화식 프로세스 -> 데몬(Daemon) -> 데몬프로세스 -> 서비스(Service)
◇ 계속적으로 실행되는
◇ 명령어& : 백그라운드 실행
◇ sleep 100&
◇ bg %jobID
(2) 상태
◆ 부모 프로세스
◆ 자식 프로세스
◇ 고아 프로세스
◇ 좀비 프로세스
exit status
exit code
return code
종료 코드
◆ echo $?
◇ 0 :정상종료
◇ 양수: 비정상 종료
(3) 시그널(Signal)
kill 명령은 시그널을 전송
◆ kill -num
num에는..
◇ 1 - SIGHUP(Hangup): 터미널과 연결 끊김. like 로그아웃
◇ 2 - SIGINT(Interrupt): Ctrl-c
◇ 9 - SIGKILL(Kill): 강제종료(무시X)
◇ 15 - SIGTERM(Terminate): 정상종료 (무시 가능)
◆ kill -n PID번호 (default PID=15)
◆ pkill 명령 :의도치않게 프로세스 종료될 수 있음 (권장X)
pkill -N <패턴>
(4) 우선순위(Priority)
top
◆ PID
◆ USER
◆ PR: Priority 우선순위
◆ NI: Nice (-20 ~19 ) 높을수록 우선순위 ↓
◆ VIRT: Virtual Memory
◆ RES: Residence Memory 실제 메모리가 상주하고 있는 공간의 용량
◆ SHR: Shared Memory 공유하는 메모리 영역 용량
◆ S: 프로세스 상태
◇ R : 실행/실행 가능한 상태
◇ S : IDLE 유휴상태
◇ D: 인터럽트(중지) 없는 유휴상태
◇ T: 중지 또는 추적
◇ Z: 좀비
◆ %CPU : cpu사용률
◆ %MEM :memory사용률
◆ TIME+ :cpu마지막으로 사용한 시간
◆ COMMAND : 명령어
■ shift + t : CPU 사용시간으로 정렬
■ shift + p : CPU 사용률 기준 정렬
■ shift + m : 메모리 사용률 기준 정렬
■ kill : kill
■ u : user
■ 스페이스바 : refresh (새로고침)
■ m : memory info toggle (바 형태로 얼마만큼 사용하고 있는지 확인 가능)
■ t : cpu info toggle (CPU의 모양을 바꿔줌)
◆ uptime
16:32:19 up 48 min, 2 users, load average: 0.06, 0.03, 0.05
◇ top의 첫번째 줄은 uptime(명령어)로도 볼 수 있음.
◇ 16:32:19 시작시간
◇ 48 min - uptime= 얼마동안 부팅 되었는가?
◇ load average(부하평균=컴퓨터 성능) : 0.38, 0.24, 0.16
1m 5m 15m (지금으로부터 1분전. 5분전. 15분전)
<---------- 부하가 늘고 있다?
1.00=100% (CPU를 100% 사용하고 있다.)
but 만약 CPU가 4개라면??? CPU: 4개-> 4.00 = 100% 가 된다!! 즉, CPU 개수에 따라 100%는 다르다.
Q. 100%를 넘어도 되나요?
A : 네, 그렇지만 지연이 있겠죠?
'Linux' 카테고리의 다른 글
10. ACL(Access Control List, 접근제어목록) (0) | 2023.09.18 |
---|---|
9. 아카이브(archive)와 압축 (0) | 2023.09.18 |
7. 쉘 메타 문자와 히스토리, alias (0) | 2023.09.18 |
6. 사용자 및 그룹 관리 (0) | 2023.09.18 |
5. Permission(권한) (0) | 2023.09.18 |