차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
tech:systemd [2021/04/11 16:51] 211.219.82.17tech:systemd [2022/11/11 00:53] (현재) V_L
줄 2: 줄 2:
 ====== Systemd ====== ====== Systemd ======
  
-init의 가장 큰 단점은 태스크가 직렬로 실행된다는 것이다. 그래서 I/O가 있는 작업은 많으면 부팅 속도가 느려지게 된다. 그래서 upstart는 이벤트 기반으로 작성되어 비동기로 작업을 처리한다. 그리고 sysv 방식의 init에 비해 설정이 간편하다. 필자가 체감하기에는 systemd보다도 간편한데, 이 점에서는 의견이 갈리는 듯 하다.+init의 가장 큰 단점은 태스크가 직렬로 실행된다는 것이다. 그래서 I/O가 있는 작업은 많으면 부팅 속도가 느려지게 된다. 그래서 upstart는 이벤트 기반으로 작성되어 비동기로 작업을 처리한다. 그리고 sysv 방식의 init에 비해 설정이 간편하다.  
  
- +대부분의 리눅스   최신 배포판들은 systemd가 기본은 아닐지언정 설치는 대부분 되어 있을 것이고, 설치가 안되어 있더라도 패키지로 설치할 수 있을 것이다. sshd의 예를 보면 이해하기 쉬울 것이다. 우분투 배포판에는  /etc/systemd/system/sshd.service 파일이 다음과 같이 작성되어 있다.
- +
-앞으로 대부분의 리눅스 배포판이 systemd로 통합될 것이므로 systemd를 미리 배워두면 좋을 것이다. 물론 지금도 최신 배포판들은 systemd가 기본은 아닐지언정 설치는 대부분 되어 있을 것이고, 설치가 안되어 있더라도 패키지로 설치할 수 있을 것이다. sshd의 예를 보면 이해하기 쉬울 것이다. 우분투 배포판에는  /etc/systemd/system/sshd.service 파일이 다음과 같이 작성되어 있다.+
  
  
줄 25: 줄 23:
 =====upstart의 단점 ===== =====upstart의 단점 =====
 좋은 init 시스템은 다음과 같은 특성을 가져야 한다 좋은 init 시스템은 다음과 같은 특성을 가져야 한다
- 
  
   * 적게 시작할 것   * 적게 시작할 것
줄 33: 줄 30:
  
 반면, systemd는 많은 서비스가 on-demand로 뜰 수 있다. 예를 들어 sshd는 부팅할 때 띄우지 않고 있다가 22번 포트로 요청이 오면 그 때 띄우는 것이다. 의존성도 이런 식으로 설정된다. 그러니까 부팅 속도도 빠르고, 불필요한 서비스는 올라가지 않아서 시스템 자원도 아낀다. 시스템 자원을 아낀다는 점은 애플리케이션 서버의 프로세스를 관리하는 입장에서도 유익하다. 반면, systemd는 많은 서비스가 on-demand로 뜰 수 있다. 예를 들어 sshd는 부팅할 때 띄우지 않고 있다가 22번 포트로 요청이 오면 그 때 띄우는 것이다. 의존성도 이런 식으로 설정된다. 그러니까 부팅 속도도 빠르고, 불필요한 서비스는 올라가지 않아서 시스템 자원도 아낀다. 시스템 자원을 아낀다는 점은 애플리케이션 서버의 프로세스를 관리하는 입장에서도 유익하다.
 +
 +=====그래서?=====
 +
 +
 +시스템 내부적으로 systemd, upstart, init.d 어느 것을 쓰던지 간에
 +사용자는 공통적으로 ''service'' 스크립트만 사용하면 된다. 
 +
 +=====아날=====
 +  systemd-analyze
 +
 +  Startup finished in 11.025s (userspace)
 +  graphical.target reached after 11.018s in userspace
 +
 +
 +