Process 6

VFS (Virtual File System)

가상 파일 시스템은 다양한 파일 시스템들의 인터페이스 역할을 하는 개념이다.예를 들면, 파일 시스템은 xfs, ext4, fat32 등 다양하게 한 시스템 내에 공존할 수 있는데, 서로 다른 파일 시스템에 대한 표준(?)적인 인터페이스가 없으면 개발 시 파일 접근에 대해 각각 다르게 코드가 작성되어야 한다. VFS가 서로 다른 파일 시스템들을 커널 계층해서 추상화해주는 역할을 한다. VFS가 있기 때문에 open(), write() 같은 동일한 시스템 콜로 통일해서 사용할 수 있다. VFS를 구성하는 4가지 개념1. Super Block- 특정 파일 시스템 전체에 대한 정보를 담고 있다. (크기, 마운트 정보 등...) 2. Inode- 특정 파일에 대한 메타 데이터를 담고 있다. (크기, 소유자, 권..

Linux 2026.01.07

vmstat

시스템 상에서 프로세스, 메모리, 페이징, I/O, CPU 등을 실시간으로 모니터링하기 위해 vmstat이라는 명령을 사용한다. procr : 실행 대기 중인 프로세스 수, cpu 코어 수보다 높으면 cpu 병목 체크해야 함.b : i/o 작업 등으로 인터럽트가 불가능한 대기 상태에 있는 프로세스 수. memoryswpd : swap 메모리 사용량free : 사용 가능한 여유 물리 메모리buff : 버퍼로 사용된 메모리 (i/o 작업으로 인한 임시 저장)cache : 캐시로 사용된 메모리 (파일 읽기 등 성능 향상용) swapsi (swap-in) : 스왑 영역(디스크)에서 메모리로 불러들이는 양so (swap-out) : 메모리에서 스왑 영역(디스크)로 밀어내는 양* 스왑 메모리가 사용되는 것은 ..

Linux 2025.12.30

top

top는 시스템의 전체적인 혹은 프로세스 별 리소스를 체크하기 위해 가장 널리 알려지고 간단하게 사용하는 명령어다. [상단 %Cpu(s)]us (user) : 사용자 영역 CPU- 애플리케이션, 사용자 프로세스가 사용하고 있는 cpu sy (system) : 커널 영역 CPU- 커널, 시스템 콜, 드라이버 등 시스템에서 사용하고 있는 cpu ni (nice) : nice 적용 프로세스- nice 값이 변경된 프로세스 (우선순위 변경) id (idle) : idle 상태, 놀고 있는 CPU 비율 wa (iowait) : I/O 대기- 디스크, 네트워크 I/O 대기로 인해 CPU가 쉰 시간 비율 hi (hardware irq) : 하드웨어 인터럽트로 인해 CPU가 사용된 시간 비율- NIC, disk 인터..

Linux 2025.12.29

Load Average

uptime 혹은 top 명령으로 확인할 수 있는 부하 평균 값(Load Average)은 실행 중이거나 실행을 기다리는 프로세스의 평균을 의미한다. 이것은 단순히 CPU 사용률을 의미하는 것이 아닐뿐더러, 수치를 어떻게 해석해야 할 지를 정리한다. 프로세스는 현재 상태에 따라 여러가지 상태 값을 가지는데, R, D 상태의 프로세스들이 부하 평균에 들어간다. Running / Runnable (R) : CPU에서 실행 중이거나 실행 대기 중인 프로세스Uninterruptable Sleep (D) : I/O 대기중인 프로세스 (디스크, 네트워크 등) 세 개의 값은 각각 1분, 5분, 15분 동안의 부하 평균을 의미하는데, 커널이 매 5초마다 프로세스 수를 체크해서 이동 평균값을 갱신한다. 각 수치는 CPU..

Linux 2025.12.26

interrupt와 context switch

시스템 리소스 체크 툴 중에 dstat이라는 것을 이용하면 system 항목에 int, csw라는 필드가 있다. (vmstat이나 sar로도 확인 가능하다.)각각 interrupt와 context switch 횟수를 의미한다. interrupt : 하드웨어 이벤트가 발생할 때 cpu에 전달하는 신호, 마우스 클릭, 네트워크 패킷 수신 등... context switch : CPU가 실행중인 프로세스를 중단하고, 다른 프로세스로 교체하는 과정.멀티 태스킹 환경에서 가지고 있는 cpu 보다 훨씬 많은 프로세스들이 동시에 실행되는데, 정확히는 context switch를 통해 cpu 자원을 각 프로세스들이 빠르게 교체하면서 사용한다. 네트워크 트래픽이 많아지면 당연히 int는 증가한다. NIC에서 패킷을 처..

Linux 2025.12.22

[linux] 프로세스 상태 및 명령어

프로세스 상태 이름플래그커널 정의 및 설명실행RTASK_RUNNING : 프로세스가 CPU에서 실행중이거나 실행을 기다리고 있음. 프로세스가 실행 중(또는 실행 가능) 상태일 경우 사용자 루틴 또는 커널 루틴(시스템 호출)을 실행 중이거나 대기열에 추가되어 준비되었을 수 있음.수면STASK_INTERRUPTIBLE : 프로세스가 하드웨어 요청, 시스템 리소스 액세스 등 일부 조건을 대기 중. 조건을 만족하면 Running상태로 복귀.DTASK_UNINTERRUPTIBLE : S와 다른 점은 신호에 응답하지 않음. 프로세스 중단 시 예기치 않은 장치 상태가 발생할 수 있는 경우에 사용KTASK_KILLABLE : 중단되지 않는 D 상태와 동일하지만, 대기 중인 작업이 강제 종료 신호에 응답할 수 있도록 수..

Linux 2025.05.29