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


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>를 실제 서비스 이름으로 교체

마스크 maskdisable서비스 의 차이점은 서비스를 완전히 비활성화하고 시작할 수 없다는 것입니다. 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=noneCONCURRENCY=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 :

  • 설치 bootchartpybootchartgui , 패키지 중 하나를 통해 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는 다음 추가하여 브에서 비활성화 할 수 있습니다 noresumeGRUB_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.