부팅 속도는 어떻게 향상합니까?


67

우분투를 더 빠르게 만드는 많은 비디오를 보았지만 이러한 방법으로 데스크탑 성능이 더 빨라졌습니다.

컴퓨터 부팅 속도를 높이려고합니다. Ubuntu 부팅 속도를 크게 향상시킬 수있는 방법이 있습니까?


5
systemd(15.04 IIRC부터) 시스템을 사용 systemd-analyze하면 부팅하는 데 걸리는 프로세스를 분석하는 데 도움이되는 도구 가 제공됩니다. 참조 man systemd-analyze당신에 아마 대부분이 사용하는거야, 모든 옵션에 대해 systemd-analyze blame생각.
— 바이트 사령관

@ByteCommander 단계별 응답이 작업을 수행합니다.
— Anwar

답변:


28

일반적으로 부팅시로드하는 프로그램이 적을수록 시스템 속도가 빨라집니다. 소프트웨어 센터에서 BUM을 사용하여 불필요한 서비스를 비활성화하고 부팅 할 때로드 될 불필요한 프로그램이 설치되어 있지 않은지 확인하십시오. 마지막으로 SSD (Solid State Drive)를 부팅 장치로 사용하면 bootime이 크게 향상됩니다.

한 가지 더, 파일 시스템 유형도 차이를 만듭니다. EXT4는 (포론에 따르면) 약간의 성능 회귀를 겪었지만 여전히 EXT4가 빠른 부팅에 훌륭하다는 것을 알았습니다.


일반적으로 유용하지 않은 서비스를 비활성화 할 수 있습니까?
— Philippe Gachoud

@PhilippeGachoud 나는 지금 정말로 기억할 수 없다. 이것은 2010 년입니다!
— RolandiXor

이전 버전과 호환되는 SSD를 사용하고 있으며 보드는 SATA입니다. 그것은 빨리 미쳤다.
— userDepth

17

나는 다른 날에 이것을 가로 질러 갔다. "e4rat" 지침은 여기

이 작은 응용 프로그램은 훌륭합니다.

나는 2800+에서 실행되는 고가의 단일 프로세서 AMD sempron을 가져갔습니다.

그것을 증명할 부트 차트가 있습니다. 미쳤다! 여기에 이미지 설명을 입력하십시오


1
정말 도움이됩니다 !!!
— user12164

더 많은 사람들이 e4rat에 대해 알아야 할 이유는 여러 가지 팁과 요령을 크게 개선 한 환상적인 도구입니다.
— Victor Bjelkholm

3
여전히 12.04에 합법적입니까? 우레아 헤드에 문제를 일으킬 것이라고 들었습니다. 이것이 사실입니까?
— user138784

내가 이해하는 것처럼 @ user138784는 ureadahead가 e4rat과 같은 역할을하기 때문에 분명히 충돌합니다. 그러나 어떤 이유로 e4rat는 우레아 헤드보다 더 나은 것 같습니다. 또한 아마도 유용 할 것입니다. 어떤 이유로 e4rat가 기본적으로 작동하지 않습니다. 약간의 조정이 필요합니다 . 그렇지 않으면 로그 파일이 작성되지 않습니다.
— Hi-Angel

e4rat가 16.04에서 작동하지 않음
— Anwar

17

부팅 시간을 향상시키는 것은 서비스 비활성화 / 관리와 관련이 있지만 현재 답변에는을 사용하는 서비스 비활성화에 대한 세부 정보가 부족합니다 systemd.

시스템이란 무엇입니까?

간단히 말해 systemd는 Linux 용 시스템 및 서비스 관리자이며 SysV 및 LSB 초기화 스크립트와 호환됩니다. 이에 대한 자세한 내용은 공식 프로젝트 페이지 에서 읽을 수 있습니다 .

가장 많은 시간이 걸리는 서비스 확인

다음 명령을 사용하여 가장 많은 시간이 소요되는 서비스를 확인하십시오.

systemd-analyze blame

부팅 중 서비스 자동 시작 비활성화

부팅 중에 서비스 자동 시작을 비활성화하려면 다음 명령을 사용할 수 있습니다

sudo systemctl disable some-time-eater-service.service --now

그러나 해당 서비스가 필요한 다른 서비스를보고 싶을 수 있습니다. 확인하려면 다음 명령을 사용하십시오

systemctl list-dependencies some-time-eater-service.service --reverse

참고 : some-time-eater-service.service와 같은 실제 서비스 이름으로 바꾸십시오 postgresql@9.5-main.service.

자동 시작을 비활성화해도 서비스를 시작할 수 없습니다. 필요한 경우 부팅 후 서비스를 시작할 수 있습니다. 완전히 비활성화하려면 다음 섹션을 읽으십시오

서비스를 완전히 비활성화합니다.

시작할 수 없도록 서비스를 완전히 비활성화하려면 maskdisable 대신 사용해야 합니다. 이렇게

sudo systemctl mask <SERVICE-NAME>

<SERVICE-NAME>를 실제 서비스 이름으로 교체

마스크 mask와 disable서비스 의 차이점은 서비스를 완전히 비활성화하고 시작할 수 없다는 것입니다. systemdunmask 로 시작 해야합니다 (여전히 시작할 수 있음 ). 그러나 서비스의 자동 시작을 비활성화하면 나중에 시작할 수 있습니다.servicedisable

예를 들어, postgresql@9.5-main.service서비스를 마스킹 한 후 systemctl다음 메시지로 서비스를 시작하려고 할 때

Failed to start postgresql@9.5-main.service: Unit postgresql@9.5-main.service is masked.

GUI 도구

특히 흥미로운 GUI 도구 systemd-manager는 아직 개발 단계에 있으며 공식 우분투 저장소의 경로로 만들어지지 않은 것입니다. 그러나 Systemd-Manager의 github 페이지 에서 매우 쉽게 설치할 수 있습니다 . 이 릴리스에는 설치가 매우 쉬운 .deb 패키지가 포함되어 있습니다. GTK-3.16 이상이 필요합니다.

다운로드 및 설치 한 후에는 systemd-manager명령으로 시작할 수 있습니다 . 시작해

응용 프로그램에는 두 가지 주요보기가 있습니다. 하나는 시스템 단위 이고 다른 하나는 시스템 분석 입니다. 왼쪽 상단의 레이블로 전환 할 수 있습니다. 스크린 샷을 참조하십시오.

뷰 간 Swithch

그리고 관리 할 수있는 세 가지 유형의 단위가 있습니다. 서비스 , 소켓 및 타이머 . 그들 사이를 전환 할 수 있습니다. 스크린 샷을 참조하십시오.

단위 유형 간 전환

정보 표시

세 가지 기본 탭은 파일 , 저널 , 종속성 입니다.

  • 파일은 선택된 장치의 구성 파일입니다.
  • Journal은 유닛을 활성화 / 비활성화 / 시작 / 중지하면서 라이브 시스템의 출력입니다.
  • 종속성은 선택된 서비스를 시작하기 위해 활성화해야하는 다른 서비스 또는 장치를 보여줍니다.

상태 표시기

장치 이름 옆에는 상태를 나타내는 두 개의 열이 있습니다. 왼쪽은 부팅시 장치를 시작할 수 있는지, 오른쪽은 해당 장치가 현재 실행 중인지 나타냅니다. 사진을 참조하십시오.

부팅 상태에서 활성화

현재 실행중인 상태

제어 스위치

부팅시 활성화 또는 실행 상태를 너무 넘치게하려면 오른쪽 상단에 두 개의 너무 많은 버튼이 있습니다. Enabled 는 장치가 시작되고 부팅 됨을 의미합니다. 사진을 참조하십시오.

활성화 / 시작하는 Toogle 스위치

응용 프로그램의 전체보기는 다음과 같습니다

전체보기

이것이 도움이되기를 바랍니다. systemd에 대한 다른 답변의 이점을 얻었지만 실제로 한 곳에서 정보를 수집해야했습니다.

더 많은 정보 :

자세한 내용 systemd을 보려면 다음 링크를 방문하십시오.

다른 답변에는 다른 제안이 있습니다. SSD 구매, RAM 증가 등을 포함합니다. 여유가 있다면 특히 SSD 제안에 도움이 될 것입니다.


15

마그네틱 드라이브에서 솔리드 스테이트 드라이브 또는 마그네틱 및 솔리드 스테이트 하이브리드 드라이브로 전환하십시오. 그러면 모든 OS 부팅이 훨씬 빨라집니다. 하이브리드 드라이브는 그렇게 비싸지 않습니다. 멀리 가고 싶지 않다면 7200 또는 10K RPM 하드 드라이브를 얻으십시오.


6
디스크 속도는 현재 부팅 병목 현상입니다.
— scottl

@scottl은 디스크가 SATA이고 부팅 시간이 @RobinJ 가보고 한 1:45 분과 비슷하다는 점을 감안할 때 특히 디스크 성능을 지적 해야 할 이유 가 있는지 의심합니다 . 그러나 내가 볼 수있는 것은 디스크와 공유 마운트가 1.) 사용 fastboot및 2) 부팅 프로세스에 중요하지 않은 디스크 에도 불구하고 동기 방식으로 수행 된다는 것입니다.
— 0xC0000022L

13

우분투 11.04에 대해 이야기한다고 가정합니까?
나는 많은 성공없이, 꽤 오랫동안 이것을 시도 해왔다. 어쨌든,이 단계들은 몇 초 차이를 만들었습니다.

1. 불필요한 패키지 제거

apt-get purge brltty brltty-x11 foo2zjs min12xxw ttf-indic-fonts-core ttf-kacst-one ttf-khmeros-core ttf-lao ttf-punjabi-fonts ttf-unfonts-core

2. 부팅 과정에서 두 코어 / CPU 사용

컴퓨터에 여러 CPU / 코어가 있는지 확인한 경우에만이 작업을 수행하십시오!
열기 /etc/init.d/rc(당신은 루트 권한이 필요합니다)와 교체 CONCURRENCY=none로 CONCURRENCY=shell. 그런 다음 파일을 저장하십시오.

최신 정보

"CONCURRENCY = shell은 이제 더 이상 사용되지 않으며 'makefile'로 별칭이 지정됩니다. 2010-05-14 이후 기본값은 'makefile'입니다."    ~ 요나 톤

3. 불필요한 데몬 비활성화

이것은 조금 더 발전된 것이므로 이것이 무엇을 의미하는지 모르면하지 않는 것이 가장 좋습니다. 를 설치 bum하고 루트 권한으로 시작하십시오. 그런 다음 필요없는 데몬 앞의 상자를 선택 해제하십시오. 예를 들어 스캐너가없는 경우을 비활성화 할 수 있습니다 saned. 블루투스를 전혀 사용하지 않으면 비활성화 할 수도 bluetooth있습니다.
완료되면 적용 버튼을 누르고 예 또는 아니오를 클릭하십시오 (별로 중요하지 않음).

이 단계를 완료 한 후 두 번 재부팅하십시오 . 어떤 이유로 든 이러한 모든 옵션을 변경 한 후 첫 번째 재부팅은 다른 옵션보다 훨씬 오래 걸리지 만 두 번째 재부팅 중에는 약간의 차이가 있습니다.


3
CONCURRENCY = shell은 이제 더 이상 사용되지 않으며 'makefile'의 별칭입니다. 2010-05-14부터 기본값은 'makefile'입니다.
— Jonathon

어떤 패키지를 제거하라고 조언 할 수 있습니까? (설명의 첫 번째 요점). 단순히 복사-붙여 넣기를하는 사람들이 있고 갑자기 터미널 등에서 읽을 수없는 사람들이 있다는 것을 항상 명심하십시오.
— Willem Van Onsem

1
@CommuSoft이 답변은 어쨌든 우분투 11.04에 관한 것이기 때문에 어쨌든 동일한 답변을 최신 버전에 적용하는 것은 바람직하지 않습니다. 이 작업 중 일부는 더 이상 작동하지 않으며 다른 작업으로 인해 시스템이 손상 될 수 있습니다.
— RobinJ

9

사용 bootchart 부팅시 시간이 걸리는 자세한 그래프를 생성 할 수 있습니다. 조정하거나 제거 할 대상을 결정하는 데 도움이 될 수 있습니다. 에서 https://wiki.ubuntu.com/BootCharting :

  • 설치 bootchart 및 pybootchartgui , 패키지 중 하나를 통해 apt-get을 또는 시냅틱
  • 컴퓨터를 재부팅
  • 부팅 차트는 / var / log / bootchart에 .png 파일로 있습니다.

현대의 동등한 내용은 여기 askubuntu.com/a/763070/178596
— Wilf


3

대체 설치를 수행하고 GUI 패키지를 수동으로 추가하면 시스템이 더 빨리 부팅됩니다. 물론, 그것은 내가 추가 할 수있는 필요가없는 것을 제거합니다. "X, Y 및 Z 앱을 어떻게 컴파일 / 설치합니까?"라는 메시지가 표시되면 좋지 않을 수 있습니다.


3

이 문제로 어려움을 겪고있는 사람은 BUM을 설치하고 루트 사용자로 시작하십시오 (정상 sudo 대신 gksudo를 사용하십시오). 그런 다음 비활성화하려는 서비스 (Apache2, PostGreSQL 데몬, MySQL, 가상 상자 등 비활성화)를 선택 취소하십시오. 서비스를 원하지 않지만 비활성화하는 것만으로도 서비스를 완전히 삭제할 수 있습니다.

sudo apt-get install bum

여기에 이미지 설명을 입력하십시오



2

편집 2016년 10월 25일 : 당신은 당신이 또는 일시 중단 선호 할 수 없기 때문에 최대 절전 모드를 사용하지 않을 경우 / S3는 다음 추가하여 브에서 비활성화 할 수 있습니다 noresume에 GRUB_CMDLINE_LINUX_DEFAULT있는 /etc/default/grub및 실행 update-grub. 다음은 GalliumOS를 실행하는 크롬 북 N22의 예입니다.

livewire@zc01:~$ systemd-analyze
Startup finished in 8.580s (kernel) + 4.160s (userspace) = 12.740s

livewire@zc01:~$ systemd-analyze
Startup finished in 3.595s (kernel) + 4.254s (userspace) = 7.850s

부팅하는 동안 "Running scripts local-premount"부분이 궁금해서 initramfs에서 약간 조사하여 이전에 시스템이 최대 절전 모드에서 깨어날 수 없었을 때만 사용했던이 옵션을 조사했습니다.


06.08.2016 편집 : systemd와 함께 제공되는 최신 Linux 배포 버전으로 업데이트해야합니다.


성분 :

  • 부풀림없는 UEFI 코드 또는 Coreboot를 사용하여 UEFI 시스템 가져 오기
  • SSD 구입
  • UEFI 모드에서 우분투 설치
  • 보너스 : xz lzop으로 initramfs를 압축 하고 필요한 모듈 만 포함하십시오. (실제로 시도하기 전에 수행중인 작업을 알아야합니다.)
  • 보너스 : 불필요한 데몬을 제거하거나 더 빨리 시작하도록 구성하십시오. 기본 설치는 이미 충분하지만.
    • 예 :이 장치에 btrfs 볼륨이없는 동안 마운트 할 풀을 찾고있는 btrfs의 init 작업 이로 인해 일부 설치에서 btrfs-tools가 제거되었습니다.

32 초면 충분하다고 말해야합니다. 기존 하드웨어로는 훨씬 빠르지 않습니다. 새로운 Lenovo T530은 레거시 모드에서 부팅하는 데 동일한 시간이 걸립니다. 최근에 새로운 마이크로 SSD를 설치하고 UEFI 모드에서 Ubuntu를 설치하면 전원 버튼을 눌러 로그인하는 데 15 초가 걸립니다. 여전히 게시하는 동안 5 초가 낭비되는 것처럼 느껴지지만 실제 운영 체제를 시작하는 데 시간이 낭비되지는 않습니다. 마이크로 SSD의 전송 속도는 280MB / s이며 500MB / s SSD는 7 초가 될 수 있습니다. 그러나 사전 OS 부팅 시간 (POST 및 그렇지 않은 것)을 줄이는 것은 실제로 제조업체의 책임입니다.

부팅 프로파일 링 및 셸 동시성에 대해 이러한 정보는 날짜가 있거나 결국 신화로 볼 수 있습니다. 자동 부트 프로파일 링 또는 부트 프로파일 링을 절대적으로 불필요하게 만든 것이 Linux 또는 코어 시스템에 추가 된 이후 새 커널 패키지가 설치된 후에는 더 이상 부트 프로파일 링을 사용하지 않았 음을 기억합니다. 쉘 동시성 설정에 문제가 있다고 말했지만 Systemd 및 Upstart에서는 불필요한 것이어야하며 긍정적 인 영향을 미치지 않아야합니다.


1

가비지 콜렉터가 맞습니다. 조심해서 진행해라. 그러나 안전하게 비활성화 할 수있는 일부 프로그램은 특히 처음에 Evolution을 사용하지 않는 경우 Evolution과 같은 이메일 팝업 유틸리티입니다. 또한 인쇄하지 않으면 인쇄 관련 내용을 비활성화 할 수 있습니다. 유선 인 경우 무선도 마찬가지입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.