IT 프로그래밍/오픈소스소프트웨어

[오픈소스소프트웨어] Linux의 부팅 과정

기술1 2024. 9. 30. 17:00
반응형

 Linux의 부팅 과정

BIOS POST

 

GRUB 실행

  • 리눅스를 비롯한 다양한 OS의 Kernel을 찾아서 메모리에 적재하고 실행시킴

KERNEL 실행

  • /boot에 kernel 및 관련 데이터가 존재함
  • 메모리에 kernel 구조를 형성하고 systemd 프로세스 가동

systemd 프로세스 동작

  • systemd : 처음 실행되는 프로세스이며 추후 모든 프로세스를 생성하는 부모 프로세스임
  • /etc/fstab 파일을 읽고 파일시스템들을 마운트 시킴
  • /etc/systemd/system/default.target를 읽고 지정된 모드를 실행함

Linux 런레벨

런레벨은 리눅스 시스템의 동작 모드를 의미합니다.

 

7개(0-6)의 런레벨이 존재하며 부팅시 하나의 런레벨이 선택되어 동작합니다.

 

런레벨 3또는 5가 디폴트입니다. 

전원을 꺼서 종료하는 0번 런레벨이 존재하며 emergency target은 한사람만 들어가서 텍스트로 명령을 실행할 수 있는 모드입니다. 

 

그리고 reboot 모드는 커널이 실행하는데 리부팅 모드로 들어가는 것입니다. 

 

Linux 종료

GUI 상에서는 

GNOME의 전원 버튼 아이콘을 이용해서 종료

 

reboot 명령

reboot [option]

  • reboot -p : 시스템 종료
  • reboot -f : 강제로 재부팅
  • reboot : 즉시 재부팅

halt 명령 :시스템은 종료하나 power는 종료하지 않음

 

shut down명령으로 종료하기 : shutdown[option][time][message]

  • shutdown 16:30 - 16시 30분에 종료
  • shutdown +30 : 30분 뒤에 종료
  • shutdown -r now : 지금 종료하고 리부트
  • shutdown -r 17:30 : 17시30분에 종료하고 리부트
  • shutdown -c : 예정된 종료를 취소
  • shutdown -k + 5 :5분뒤 종료한다는 메세지만 전송하고 실제 종료는 하지 않습니다. 

시스템 모니터링 관련 명령

  • uptime
  • demsg | tail
  • vmstat 1
  • mpstat
  • pidstat 1
  • top

 

uptime

시스템 부하(load) 상태를 보여주는 명령입니다. 현재시각, 컴퓨터 시작 후 경과한 시간, 현재 로그인된 사용자의 수, 지난 1분, 5분, 15분간의 부하 (부하는 주어진 시간 동안 실행중인 프로세스의 수)

 

dmesg

부팅이후 출력된 모든 커널 메시지를 출력함

최근 것을 확인하려면 tail 명령 이용(dmesg | tail)

 

mpstat -P ALL 1

프로세스 관련 명령을 추가함

 

pidstat1

 

TOP

실행중인 프로세스들에 대한 정보를 보여줍니다. 현재시각, UPTIME과 LOAD 평균, 로그인한 사용자의 수, 프로세스의 수와 상태별 프로세스의 수, 모드별 cpu 점유 비율 등등이 있습니다.

 

모드별 cpu 점유비율

  • us
  • sy
  • ni
  • id
  • wa
  • hi
  • si
  • st
반응형