1 / 46

7. 시스템자원관리

7. 시스템자원관리. 1.0 2001. 02. 26(2001. 02. 27 발표 ) 서민갑. 목 차. 시스템 성능에 대하여 CPU 활동 모니터하기 CPU 사용 관리와 프로세스 통제 메모리 관리 디스크 입 / 출력의 성능 향상 문제 자유 이용 가능한 모니터 유틸리티 디스크 공간 사용 관리 디스크 할당으로 디스크 사용 조절. 1. 시스템 성능에 대하여. 시스템 성능은 해당 시스템 자원들이 여러 작업 요구에 얼마나 효율적으로 적용되는가에 달려 있다 . 성능 면에서 가장 중요한 시스템 자원 CPU

kaili
Download Presentation

7. 시스템자원관리

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 7. 시스템자원관리 1.0 2001. 02. 26(2001. 02. 27 발표) 서민갑

  2. 목 차 • 시스템 성능에 대하여 • CPU 활동 모니터하기 • CPU 사용 관리와 프로세스 통제 • 메모리 관리 • 디스크 입/출력의 성능 향상 문제 • 자유 이용 가능한 모니터 유틸리티 • 디스크 공간 사용 관리 • 디스크 할당으로 디스크 사용 조절 시스템 자원 관리

  3. 1. 시스템 성능에 대하여 • 시스템 성능은 해당 시스템 자원들이 여러 작업 요구에 얼마나 효율적으로 적용되는가에 달려 있다. • 성능 면에서 가장 중요한 시스템 자원 • CPU • Memory • 디스크 입출력 시스템 자원 관리

  4. 1. 시스템 성능에 대하여(cont’d) • 시스템 자원 통제 기법들 시스템 자원 관리

  5. 1. 시스템 성능에 대하여(cont’d) • 시스템 성능의 문제 해결 sequence • 할 수 있는 한 매우 상세히 문제 정의 • 문제의 원인 결정 • 명백한 성능 향상 목표 형식화 • 목표 달성을 위해 고안된 시스템과 응용 프로그램에 변경 • 시스템 감시 • 다시 처음으로 시스템 자원 관리

  6. 2. CPU 활동 모니터하기 • uptime –현재 시간과 uptime, load average • 평균 부하(load average) : 단위 시간 내에 활성화되었던 프로세스들의 평균 수치. 높은 수치일수록 시스템이 과하게 사용되고 있으며 반응 시간이 이에 따라 느려짐을 의미함. • 높고 낮음의 결정은 시스템의 용도 등을 보고 판단한다. 시스템 자원 관리

  7. 2. CPU 활동 모니터하기(cont’d) • ps –현재 프로세스의 실행 통계치를 요약하여 보고 • Ex) ps aux | head –5 시스템 자원 관리

  8. 2. CPU 활동 모니터하기(cont’d) • top –시스템 상태 및 프로세스 정보 시스템 자원 관리

  9. 2. CPU 활동 모니터하기(cont’d) • limit –자원 한도를 보여줌 시스템 자원 관리

  10. 2. CPU 활동 모니터하기(cont’d) • ulimit – korn shell에서의 limit 시스템 자원 관리

  11. 2. CPU 활동 모니터하기(cont’d) • limit, ulimit –한계값 변경 시스템 자원 관리

  12. 3. CPU 사용 관리와 프로세스 통제 • vmstat –가상 메모리 상태(CPU 정보 포함) • sar – IRIX에서 사용 가능 시스템 자원 관리

  13. 3. CPU 사용 관리와 프로세스 통제(cont’d) • 시스템 성능 문제를 추적하는 경우와 CPU 이용이 긴 기간에 걸쳐 높은 수치가 나오지 않는 이상 CPU 이용치 그 자체는 큰 의미가 없다. • CPU 과다 할당을 타개하는 방법 • 프로세스 우선 순위 재할당 • CPU 자원의 소비량 줄임 • 스케줄링 프로시져 변경 시스템 자원 관리

  14. 3. CPU 사용 관리와 프로세스 통제(cont’d) • CPU 자원 분배 알고리즘 • 우선 순위 기반 라운드 로빈 스케줄링 • CPU는 주어진 시간에 하나의 작업만을 수행한다. • 각 프로세스는 각각의 우선 순위를 가진다. • 한 프로세스가 실행되면 특별한 상황이 발생하기 전까지 계속 실행된다. • 현 프로세스가 끝나면 가장 선호되는 프로세스가 실행된다. • 같은 우선 순위의 프로세스는 그 순위에 해당하는 run queue에 넣어진다. • CPU가 비어 있을 때 스케줄러는 가장 낮은 수치의 run queue의 가장 앞의 프로세스 시작 • 끝나면 그 프로세스는 맨 끝으로 가고 다음의 프로세스 실행 시스템 자원 관리

  15. 3. CPU 사용 관리와 프로세스 통제(cont’d) • 프로세스 우선 순위와 관련된 수치 • Nice : 다른 프로세스에 대해 요청된 실행 우선 순위 • Priority : 운영체제가 계산하고 동적으로 갱신. Nice 수치, CPU 시간, 실행 가능 여부와 우선 순위 등 다른 요소들을 고려하여 계산됨 • nice, renice, /bin/nice 명령 – nice 수치 변경 - 책 참조 pp. 335~338 • priocntl 명령 –프로세스 우선 순위 변경 - 책 참조 pp. 338~339 시스템 자원 관리

  16. 3. CPU 사용 관리와 프로세스 통제(cont’d) • kill –프로세스를 죽이는 명령 • Synopsis : kill [-signal] pid(s) • 프로세스 종료시에는 자식 프로세스도 죽여야 한다. • 포그라운드 프로세스는 죽이고 백그라운드 프로세스는 잠시 멈추게 한다. • killall –해당 명령과 같은 그룹의 모든 프로세스를 죽인다. • Synopsis : killall [-signal] procname 시스템 자원 관리

  17. 3. CPU 사용 관리와 프로세스 통제(cont’d) • 죽지 않는 프로세스 • 좀비 상태의 프로세스 • 이용이 불가능한 NFS 자원을 기다리는 프로세스 • 어떤 장치가 어떤 연산을 종료하기를 기다리는 아직 존재하지 않는 프로세스 • 프로세스 일시 중지 및 재시작 • STOP, CONT 시그널 • Ctrl-z 시스템 자원 관리

  18. 3. CPU 사용 관리와 프로세스 통제(cont’d) • AIX의 스케줄러 구성 • priority = min + nice + (current * 16 / 32) • 10ms마다(1clock) CPU 제어하의 프로세스 current+1 • 1초마다 모든 프로세스 current 값 감소 • 최근에 사용된 프로세스의 priority 값을 증가시키고, 기다리고 있던 프로세스의 priority 값 감소시킴. • schedtune 명령 –스케쥴링 인자들의 값 변경 시스템 자원 관리

  19. 3. CPU 사용 관리와 프로세스 통제(cont’d) • Solaris/V.4의 스케줄러 구성 • Solaris의 프로세스 구성 : 실시간, 시분할, 시스템 Global Priority Class Specific Priority 59 159 Real-Time priorities 40 100 System priorities 60 20 Time-Sharing priorities -20 0 시스템 자원 관리

  20. 3. CPU 사용 관리와 프로세스 통제(cont’d) • dispadmin 명령 –스케줄러 관리자 • priocntl 명령 –지정된 프로세스에 대해 스케줄링 파라미터를 보여주거나 수정한다. 시스템 자원 관리

  21. 3. CPU 사용 관리와 프로세스 통제(cont’d) • at 명령 - 특정 시간에 실행되는 명령을 나타냄 • batch - ‘at’으로 지정된 명령 이후의 명령들이 순차적으로 실행되기 위해 저장되는 큐(queue)를 제공한다. • queuedefs 파일이 있는 디렉토리 • SunOS : /var/spool/cron • Solaris, IRIX : /etc/cron.d • AIX, Digital-Unix, HP-UX 10 : /var/adm/cron • Linux : don’t use • q.xjynzw 시스템 자원 관리

  22. 4. 메모리 관리 • 메모리 크기 결정시 하나의 큰 작업 뿐 아니라 매일 사용되는 전형적인 작업들의 합도 고려해야 한다. • 페이징, 스와핑 : 프로세스들이 요구하는 메모리 총량이 실제 메모리 양을 초과할 때의 메모리 분배 • swapping : 하나의 프로세스 전부를 디스크에 기록함으로서 자신의 메모리를 모두 비우는 것 • paging : 프로세스의 메모리 영역을 페이지 단위로 디스크에 옮기는 것 시스템 자원 관리

  23. 4. 메모리 관리(cont’d) • 메모리 사용과 페이징 상태 모니터 • vmstat 명령 • System V의 sar 명령 • 현재 시스템의 메모리 양 검사 • SunOS의 /var/adm/messages 이용 • IRIX의 hinv 명령 • AIX의 lsattr 명령 • pagesize 명령 시스템 자원 관리

  24. 4. 메모리 관리(cont’d) • 가상 메모리 관리자(AIX) • schedtune, vmtune 시스템 자원 관리

  25. 4. 메모리 관리(cont’d) • 사용자의 페이징 공간 요구 증가 • 페이지가 실제로 쓰여지지 않을 때 페이징 공간을 할당하지 않는 시스템 • 많은 메모리를 필요로 하는 작업, 특히 • 시스템이 같은 시간에 하나 이상의 작업을 해야 할 때 • 프로그램 자체가 매우 클 때 • 동시에 수행되는 작업의 수가 많을 때 • 기타(네트워크 트래픽 등) 시스템 자원 관리

  26. 4. 메모리 관리(cont’d) • 각 OS의 페이징 관련 명령 시스템 자원 관리

  27. 4. 메모리 관리(cont’d) • 페이징 공간 활성화 • swapon –a (SunOS, HP-UX, Digital-Unix, Linux) • swapadd (solaris) • swap –m (IRIX) • swap –a (System V) • swapon –a (AIX) 시스템 자원 관리

  28. 4. 메모리 관리(cont’d) • 새로운 페이징 공간 만들기 • 모든 파일 시스템을 백업하고, 백업한 장치를 읽을 수 있는지 검사(10장 참조) • 물리 디스크 구조 재설정(9장 참조) • 새로운 파일시스템 생성(9장 참조) • 새로운 파일시스템에 재저장(10장 참조) • 스와핑 공간 활성화(다음 단락 참조) 시스템 자원 관리

  29. 4. 메모리 관리(cont’d) • 파일시스템 페이징 • mkfile (SunOS, IRIX, solaris) • swap –a (IRIX, solaris) • swapon –l (HP-UX) • mkps, chps (AIX) • swap –p : 페이징 영역에 우선순위 할당 • IRIX의 가상 스왑 공간 • /.swap.virtual • swap –l 명령으로 알 수 있다. 시스템 자원 관리

  30. 4. 메모리 관리(cont’d) • 스왑 공간의 고갈 • AIX에서 vmtune 명령을 이용하여 대처 가능 • 페이징 공간의 제거 • swap –d 명령 (System V) • rmps (AIX), 재부팅을 해야 확인 가능 - /etc/fstab의 해당 라인 제거 (기타) 시스템 자원 관리

  31. 4. 메모리 관리(cont’d) • 공유 메모리 세그먼트의 제거 • ipcs 명령 –메시지 큐의 상태, 공유 메모리 세그먼트, 신호기 상태를 나타냄 • 제거시에는 ipcrm 명령 사용 시스템 자원 관리

  32. 5. 디스크 입/출력의 성능 향상 문제 • 디스크 입/출력에 영향을 주는 요소 • 디스크가 나누어지는 방법(디스크 제어기) • 사용 가능한 디스크에 자료를 분배하는 계획 • 디스크의 물리적인 위치 • 파일 시스템 단편화는 입/출력 성능을 저하시킴 • 큰 파일에 대한 순차적인 접근은 파일이 인접할 때 효과적이다. • 디스크 드라이브 중앙 부분에 큰 파일이 위치할 때 최고의 성능을 보여줌 시스템 자원 관리

  33. 5. 디스크 입/출력의 성능 향상 문제(cont’d) • AIX의 순차적인 읽기 우선 파라미터들 • 접근 방식을 결정하면 읽기 우선 조작 수행 • 2의 제곱 만큼의 페이지를 읽는다. • 프로세스가 이미 디스크에서 읽은 데이터를 요구할 경우 더욱 빨리 실행될 수 있다. • vmtune 명령의 –r, -R 옵션을 이용한다. 시스템 자원 관리

  34. 5. 디스크 입/출력의 성능 향상 문제(cont’d) • AIX의 디스크 입/출력 페이싱 파라미터 • 아주 큰 입/출력 연산시 이 입/출력이 끝날 때까지 기다려야 하는 문제점 해결 • maxpout, minpout 파라미터 이용 • chdev 명령 사용 • 한 프로세스가 maxpout에 도달해 있거나 쓰기 연산을 계속하면, 펜딩 요구가 minpout로 떨어질 때까지 중단된다. 시스템 자원 관리

  35. 6. 자유 이용 가능한 모니터 유틸리티 • AIX의 monitor all 시스템 자원 관리

  36. 7. 디스크 공간 사용 관리 • df 명령 –파일 시스템 통계 표시 시스템 자원 관리

  37. 7. 디스크 공간 사용 관리(cont’d) • du 명령 : 디스크 사용에 대한 보고서 시스템 자원 관리

  38. 7. 디스크 공간 사용 관리(cont’d) • quot 명령 –사용자에 의해 보고서 사용 • 디스크 공간 문제 해결 • 다른 디스크를 하나 더 산다. • 빈 공간이 있는 디스크를 마운트 • 필요 없는 파일 삭제 • 자주 사용되지 않는 파일 압축 • 사용자들에 대한 더 이상 사용되지 않는 파일의 백업, 압축 및 삭제 요구 • 일정 기간 동안 사용하지 않은 파일 삭제 시스템 자원 관리

  39. 7. 디스크 공간 사용 관리(cont’d) • 낭비되는 공간 검색/삭제에 쓰이는 find • find / –atime +60 –print • find / -name “.BAK*” –o –name “*~” –print • find / /bio / corp –atime +7 \(-name “.BAK*” \ -o –name “*~” \) –type –exec rm –f {} \; 시스템 자원 관리

  40. 7. 디스크 공간 사용 관리(cont’d) • 로그 파일 크기 제한 • 관련된 파일 • /usr/adm, 혹은 /var/adm 밑의 로그 파일 • /etc/default 안의 로그 파일 • /etc/syslog.conf • /var/adm/acct/sum, /var/adm/acct/fiscal(System V) • /usr/crash • 기타 여러 파일(책 p.382 참조) 시스템 자원 관리

  41. 7. 디스크 공간 사용 관리(cont’d) • 시스템 로그 파일의 관리(pp.383~384) • 파일이 커짐에 따라 직접 잘라내는 방법 • 작은 부분의 현재 logging 정보 유지 • 여러 버전의 예전 로그 파일 유지 시스템 자원 관리

  42. 7. 디스크 공간 사용 관리(cont’d) • AIX의 skulker 스크립트 • 정크 파일의 오래된 큐잉 시스템의 스풀링 영역 제거 • /tmp와 /var/tmp의 하루 이상 된 파일 제거 • 오래된 새 파일 제거(45일 이상) • 다양한 파일 제거(파일 형태 추가 가능) • cron을 통해 오후 3시에 실행됨 시스템 자원 관리

  43. 8. 디스크 할당으로 디스크 사용 조절 • 디스크 할당제 • 사용자가 사용할 디스크 용량을 관리자가 제한 • 운영체제는 각각의 사용자 디스크 공간과 각 파일 시스템을 사용하고 있는 inode를 각 사용자의 할당량을 분리해서 관리 • Hard limit과 soft limit이 있다. 시스템 자원 관리

  44. 8. 디스크 할당으로 디스크 사용 조절(cont’d) • 할당제를 위한 파일시스템 준비 • /etc/fstab 내의 quota 키워드 추가(BSD) Ex) /dev/sdld /chem 4.2 rw, quota 1 2 • rq의 마지막 필드를 rw로 변경(System V) Ex) /dev/dsk/cldls2/ /dev/rdsk/cldls2 /chem ufs 1 yes rq • /etc/filesystems에 파일시스템 항목 추가 Ex) quota = userquota, groupquota 시스템 자원 관리

  45. 8. 디스크 할당으로 디스크 사용 조절(cont’d) • edquota • 각 사용자에 대해 파일시스템의 할당 조절 • 사용자 사이에 할당 설정 복사(-p) • 만기된 기간에 소프트 한도 설정(-t) • quotaon • 할당 시스템을 활동하게 하거나 할당 점검 Cf) quotaoff : 할당 해지 • Quotacheck –연속적인 할당 점검 시스템 자원 관리

  46. 8. 디스크 할당으로 디스크 사용 조절(cont’d) • repquota • 지정된 파일시스템의 현재 할당 출력 • 여러 파일 시스템의 할당 출력 • quota • 각 사용자에 할당되어 있는 것에 대해 현재 디스크의 채워질 용량 결정 Cf) 지금까지의 모든 명령은 그룹에서 가능하다(AIX, Digital UNIX, Linux) 시스템 자원 관리

More Related