[OS-007][중급] CPU·메모리·디스크 상태 확인하기 > IT 기술 공유

본문 바로가기
사이트 내 전체검색

IT 기술 공유

[OS-007][중급] CPU·메모리·디스크 상태 확인하기

페이지 정보

profile_image
작성자 기술팀장
댓글 0건 조회 167회 작성일 26-09-02 16:38

본문

[이번 수업]
이번에는 운영체제 기본 도구로 CPU·메모리·디스크 상태를 읽고 결과를 해석합니다.

[선수지식]
OS-002의 프로세스 개념, OS-004의 파이프, OS-006의 프로세스·서비스 상태 확인을 알고 터미널이나 PowerShell을 실행할 수 있어야 합니다.

[학습목표]
1. CPU·메모리·디스크 지표의 뜻을 구분한다.
2. Linux·macOS·Windows에서 상태를 확인한다.
3. 한 번의 순간값 대신 여러 관측값을 비교한다.

[핵심개념]
CPU 사용률은 일정 시간 동안 프로세서가 일한 비율입니다. Linux·macOS의 `uptime`은 실행 시간과 1·5·15분 부하 평균을 보여줍니다. 부하 평균은 CPU 백분율이 아니라 실행 중이거나 실행을 기다리는 작업의 평균에 가까우므로 논리 CPU 수와 함께 봅니다.

메모리는 빈 공간만 보지 않습니다. 운영체제는 남는 메모리를 캐시로 활용하고 필요하면 회수합니다. Linux에서는 `free`의 `available`, macOS에서는 `vm_stat`과 활성 상태 보기의 메모리 압력, Windows에서는 전체·사용 가능 메모리를 함께 확인합니다.

디스크는 전체 크기보다 사용 가능 공간이 중요합니다. `df`는 파일시스템 단위 공간을 보여줄 뿐 어떤 폴더가 큰지는 알려주지 않습니다. CPU가 높아도 정상 작업 중일 수 있으므로 시간, 실행 작업, 평소 기준값을 함께 기록합니다.

[따라하기]
먼저 macOS·Linux 터미널에서 공통 명령을 실행합니다. 읽기 전용 명령이므로 관리자 권한은 필요 없습니다.

```sh
uname -s
uptime
df -h .
```

`uname`은 운영체제 계열, `uptime`은 실행 시간과 부하 평균, `df -h .`는 현재 폴더가 있는 파일시스템의 전체·사용·여유 공간을 사람이 읽기 쉬운 단위로 표시합니다. 출력값은 컴퓨터마다 다릅니다.

Linux에서는 다음을 실행합니다.

```sh
free -h
top -b -n 1 | head -n 8
```

`free -h`에서 `Mem:` 행의 `available`을 확인합니다. `top` 첫 부분은 부하, CPU 상태, 메모리 요약을 한 번 출력합니다. `-b`를 지원하지 않는 환경은 `top`을 실행하고 `q`로 끝냅니다.

macOS에서는 다음을 실행합니다.

```sh
vm_stat
top -l 1 -n 0 | head -n 12
```

`vm_stat`은 페이지 단위 메모리 통계를, `top`은 CPU·메모리 요약을 보여줍니다. 그래프로 보고 싶으면 활성 상태 보기에서 CPU·메모리·디스크 탭을 엽니다.

Windows PowerShell에서는 다음을 실행합니다.

```powershell
Get-CimInstance Win32_Processor |
  Select-Object Name, LoadPercentage

Get-CimInstance Win32_OperatingSystem |
  Select-Object TotalVisibleMemorySize, FreePhysicalMemory

Get-CimInstance Win32_LogicalDisk -Filter "DriveType=3" |
  Select-Object DeviceID, Size, FreeSpace
```

CPU 값은 백분율, 메모리는 KB, 디스크는 바이트 단위입니다. 예상 결과는 각 명령에 CPU 이름과 부하, 메모리 두 값, C: 같은 드라이브와 전체·여유 공간이 한 행 이상 표시되는 것입니다.

결과를 시각과 함께 텍스트 파일에 메모하고 30초 뒤 다시 실행하세요. 두 시점 모두 나쁜 값인지, 큰 작업을 시작하거나 끝낸 시점과 겹치는지 비교합니다.

[흔한 실수]
- 부하 평균을 CPU 사용률 백분율로 읽는다.
- Linux에서 `free` 열만 보고 캐시와 `available`을 무시한다.
- `df` 결과를 폴더별 사용량으로 생각한다.
- 한 번 높은 값만 보고 장애라고 단정한다.
- 상태 확인에 불필요하게 관리자 권한을 사용한다.

[보안 주의]
상태 명령은 본인 소유 컴퓨터나 허가받은 서버에서만 실행합니다. 결과에는 사용자명·호스트명·마운트 경로·프로세스 이름이 포함될 수 있으므로 그대로 공개하지 마세요. 진단을 위해 출처를 모르는 프로그램을 설치하거나, 서비스·프로세스를 임의로 종료하지 않습니다.

[직접 해볼 과제]
현재 시각과 CPU·메모리·디스크 결과를 두 번 기록하고 차이를 세 줄로 설명하세요. 디스크 여유가 가장 적은 파일시스템도 찾되 파일 삭제는 하지 않습니다.

[확인문제]
1. 부하 평균과 CPU 사용률은 왜 같은 값이 아닌가요?
2. Linux 메모리에서 `available`을 함께 보는 이유는 무엇인가요?
3. 한 번의 높은 값만으로 장애를 판단하면 안 되는 이유는 무엇인가요?

[다음 학습]
다음 NET-007에서는 Wi-Fi와 유선 네트워크의 차이와 연결 상태 확인 방법을 배웁니다.

[공식 참고 자료]
- Linux /proc 문서: https://www.kernel.org/doc/html/latest/filesystems/proc.html
- GNU df 공식 문서: https://www.gnu.org/software/coreutils/manual/html_node/df-invocation.html
- Apple 활성 상태 보기 안내: https://support.apple.com/guide/activity-monitor/welcome/mac
- Windows CPU 클래스: https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32-processor
- Windows 메모리 클래스: https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32-operatingsystem
- Windows 디스크 클래스: https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32-logicaldisk

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

회사명 : 회사명 / 대표 : 대표자명
주소 : OO도 OO시 OO구 OO동 123-45
사업자 등록번호 : 123-45-67890
전화 : 02-123-4567 팩스 : 02-123-4568
통신판매업신고번호 : 제 OO구 - 123호
개인정보관리책임자 : 정보책임자명

접속자집계

오늘
2,159
어제
5,103
최대
16,772
전체
773,213
Copyright © 소유하신 도메인. All rights reserved.