현대 컴퓨터 세계에서 부팅 시간은 중요한 요소 중 하나입니다. 더 높은 효율성과 더 나은 사용자 경험을 위해 서버나 컴퓨터를 빠르게 시작해야 하는 경우가 있습니다. Linux 시스템에서는 시작 시간을 최적화하는 것이 매우 중요합니다. 이 기사에서는 다양한 도구를 사용하여 Linux 시스템의 부팅 시간을 분석하고 개선하는 방법을 소개합니다.
빠른 시작 또는 빠른 다시 시작은 다양한 상황에서 중요한 역할을 합니다. 모든 서비스의 고가용성과 더 나은 성능을 유지하려면 임베디드 장치의 빠른 시작이 중요합니다. 빠른 부팅이 활성화되지 않은 Linux 운영 체제를 실행하는 통신 장치를 고려하면 이 특정 내장 장치를 사용하는 모든 시스템, 서비스 및 사용자가 영향을 받을 수 있습니다. 이러한 장치는 서비스의 고가용성을 유지하는 것이 매우 중요하며 이를 위해서는 빠른 시작과 재시작이 중요한 역할을 합니다.
통신 장비의 결함이나 종료는 단 몇 초라도 인터넷상의 수많은 사용자에게 큰 피해를 줄 수 있습니다. 따라서 시간이 중요한 여러 장치 및 통신 장비의 경우 신속하게 작업에 복귀할 수 있도록 장치에 빠른 부팅 기능을 통합하는 것이 매우 중요합니다. 그림 1의 Linux 부팅 프로세스를 이해해 보겠습니다.
그림 1: 시작 프로세스
모니터링 도구 및 시작 프로세스
사용자가 컴퓨터를 변경하기 전에 알아야 할 많은 요소가 있습니다. 여기에는 컴퓨터의 현재 시작 속도뿐만 아니라 리소스를 많이 소모하고 시작 시간을 늘리는 서비스, 프로세스 또는 응용 프로그램도 포함됩니다.
시작 사진
시작 속도와 시작 중에 시작된 다양한 서비스를 모니터링하려면 사용자는 다음 명령을 사용하여 설치할 수 있습니다.
으아악시작할 때마다 시작 이미지는 로그에 png 파일을 저장하므로 사용자는 png 파일을 보고 시스템의 시작 프로세스와 서비스를 이해할 수 있습니다. 이렇게 하려면 다음 명령을 사용하세요:
으아악사용자는 png 파일을 보려면 앱이 필요할 수 있습니다. Feh는 콘솔 사용자를 위한 X11 이미지 뷰어입니다. 대부분의 다른 이미지 뷰어와 달리 정교한 GUI가 없으며 이미지를 표시하는 데만 사용됩니다. Feh를 사용하여 png 파일을 볼 수 있습니다. 다음 명령을 사용하여 설치할 수 있습니다:
으아악feh xxxx.png를 사용하여 png 파일을 볼 수 있습니다.
그림 2: 시작 다이어그램
그림 2는 부트스트랩 이미지 png 파일을 보고 있는 모습을 보여줍니다.
시스템 분석
그러나 Ubuntu 15.10 이상 버전에서는 부팅 이미지가 더 이상 필요하지 않습니다. 시작 속도에 대한 간략한 정보를 얻으려면 다음 명령을 사용하십시오:
으아악그림 3: systemd-analyze의 출력
차트 3은 systemd-analyze 명령의 출력을 보여줍니다.
systemd-analyze Blame 명령은 초기화에 걸린 시간을 기준으로 실행 중인 모든 유닛의 목록을 인쇄하는 데 사용됩니다. 이 정보는 매우 유용하며 시작 시간을 최적화하는 데 사용할 수 있습니다. systemd-analyze 비난은 type=simple인 서비스를 표시하지 않습니다. 왜냐하면 systemd는 이러한 서비스가 즉시 시작되는 것으로 간주하므로 초기화 지연을 측정할 수 없습니다.
그림 4: systemd-analyze 비난의 출력
그림 4는 systemd-analyze Blame의 출력을 보여줍니다.
다음 명령은 시간이 중요한 서비스 단위의 트리 체인을 인쇄합니다.
으아악그림 5는 systemd-analyze 임계 체인 명령의 출력을 보여줍니다.
그림 5: systemd-analyze 임계 체인의 출력
시작 시간을 줄이는 단계
아래에는 시작 시간을 줄이기 위해 취할 수 있는 다양한 단계 중 일부가 나와 있습니다.
BUM(부팅 관리자)
BUM은 시스템 시작 또는 다시 시작 시 초기화 서비스를 구성할 수 있는 실행 수준 구성 편집기입니다. 부팅 시 시작할 수 있는 모든 서비스 목록을 표시합니다. 사용자는 개별 서비스를 켜거나 끌 수 있습니다. BUM은 매우 명확한 그래픽 사용자 인터페이스를 가지고 있으며 사용이 매우 쉽습니다.
Ubuntu 14.04에서는 다음 명령을 사용하여 BUM을 설치할 수 있습니다.
으아악15.10 이상 버전에 설치하려면 http://apt.ubuntu.com/p/bum 링크에서 패키지를 다운로드하세요.
以基本的服务开始,禁用扫描仪和打印机相关的服务。如果你没有使用蓝牙和其它不想要的设备和服务,你也可以禁用它们中一些。我强烈建议你在禁用相关的服务前学习服务的基础知识,因为这可能会影响计算机或操作系统。图 6 显示 BUM 的图形用户界面。
图 6:BUM
编辑 rc 文件
要编辑 rc 文件,你需要转到 rc 目录。这可以使用下面的命令来做到:
cd /etc/init.d
然而,访问 init.d 需要 root 用户权限,该目录基本上包含的是开始/停止脚本,这些脚本用于在系统运行时或启动期间控制(开始、停止、重新加载、启动启动)守护进程。
在 init.d 目录中的 rc 文件被称为运行控制run control脚本。在启动期间,init 执行 rc 脚本并发挥它的作用。为改善启动速度,我们可以更改 rc 文件。使用任意的文件编辑器打开 rc 文件(当你在 init.d 目录中时)。
例如,通过输入 vim rc ,你可以更改 CONCURRENCY=none 为 CONCURRENCY=shell。后者允许某些启动脚本同时执行,而不是依序执行。
在最新版本的内核中,该值应该被更改为 CONCURRENCY=makefile。
图 7 和图 8 显示编辑 rc 文件前后的启动时间比较。可以注意到启动速度有所提高。在编辑 rc 文件前的启动时间是 50.98 秒,然而在对 rc 文件进行更改后的启动时间是 23.85 秒。
但是,上面提及的更改方法在 Ubuntu 15.10 以后的操作系统上不工作,因为使用最新内核的操作系统使用 systemd 文件,而不再是 init.d 文件。
图 7:对 rc 文件进行更改之前的启动速度
图 8:对 rc 文件进行更改之后的启动速度
E4rat
E4rat 代表 e4 减少访问时间reduced access time(仅在 ext4 文件系统的情况下)。它是由 Andreas Rid 和 Gundolf Kiefer 开发的一个项目。E4rat 是一个通过碎片整理来帮助快速启动的应用程序。它还会加速应用程序的启动。E4rat 使用物理文件的重新分配来消除寻道时间和旋转延迟,因而达到较高的磁盘传输速度。
E4rat 可以 .deb 软件包形式获得,你可以从它的官方网站 http://e4rat.sourceforge.net/下载。
Ubuntu 默认安装的 ureadahead 软件包与 e4rat 冲突。因此必须使用下面的命令安装这几个软件包:
sudo dpkg purge ureadahead ubuntu-minimal
现在使用下面的命令来安装 e4rat 的依赖关系:
sudo apt-get install libblkid1 e2fslibs
打开下载的 .deb 文件,并安装它。现在需要恰当地收集启动数据来使 e4rat 工作。
遵循下面所给的步骤来使 e4rat 正确地运行并提高启动速度。
그림 9와 그림 10은 e4rat 설치 전과 후의 부팅 시간 차이를 보여줍니다. 시작 속도가 향상되는 것을 확인할 수 있습니다. e4rat 사용 전 부팅 시간은 22.32초였지만, e4rat 사용 후 부팅 시간은 9.065초였습니다.
그림 9: e4rat
사용 전 시작 속도그림 10: e4rat
사용 후 시작 속도몇 가지 쉬운 조정
매우 작은 조정으로도 좋은 시작 속도를 얻을 수 있습니다. 그 중 두 가지는 아래에 나열되어 있습니다.
SSD
일반 하드 드라이브나 기타 저장 장치 대신 솔리드 스테이트 장치를 사용하면 부팅 속도가 확실히 향상됩니다. SSD는 또한 파일 전송 속도와 애플리케이션 실행 속도를 높이는 데 도움이 됩니다.
GUI 비활성화
그래픽 사용자 인터페이스, 데스크톱 그래픽 및 창 애니메이션은 많은 리소스를 차지합니다. GUI를 비활성화하는 것은 좋은 시작 속도를 얻는 또 다른 좋은 방법입니다.
결론적으로 이번 글을 통해 다양한 도구를 사용하여 Linux 시스템의 부팅 시간을 진단하고 최적화하는 방법을 배웠습니다. 서비스 수를 줄이거나, 불필요한 모듈을 제거하거나, 파일 시스템이나 애플리케이션을 최적화하는 등 이러한 방법을 사용하면 Linux 시스템의 시작 시간을 효과적으로 줄이고 보다 원활하고 효율적인 환경을 제공할 수 있습니다.
위 내용은 Linux 시스템을 빠르게 시작하세요: 시작 시간을 최적화하는 팁과 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!