저는 프로젝트를 진행하고 있는데 프로젝트를 전달하는 가장 좋은 방법을 이해하는 데 어려움을 겪고 있습니다. 이 프로젝트는 오래되고 중복된 컴퓨터에서 사용하기 위해 제가 작성한 웹 애플리케이션으로 구성됩니다. 아이디어는 이 애플리케이션을 Linux 배포판과 함께 패키징한 다음 해당 컴퓨터에 설치하거나 라이브 USB를 통해 실행하는 것입니다. 기본적으로 컴퓨터를 켜면 운영 체제가 로드되고, 웹 애플리케이션이 자동으로 실행되고, 브라우저가 실행되어 웹 애플리케이션을 가리켜야 합니다. 그게 전부입니다. 키오스크 애플리케이션과 비슷하지만 키오스크와는 달리 사용자가 브라우저를 완전히 제어할 수 있어야 합니다.
저는 최신 버전의 Raspberry Pi OS를 실행하는 Raspberry Pi 4(2GB RAM)에서 이 프로토타입을 제작했습니다. 장치를 켠 후 웹 애플리케이션이 브라우저에 표시되는 데 약 43초가 걸립니다. 나는 이것이 합리적인 성과라고 생각한다.
그런 다음 최신 버전의 Lubuntu(새로 설치)를 실행하는 4GB RAM을 갖춘 기존 Intel i5 컴퓨터에서 동일한 프로그램을 실행해 보았습니다. 나는 *Ubuntu를 가장 잘 알고 Lubuntu가 "미니멀리스트" 스타일이라고 믿기 때문에 Lubuntu를 선택했습니다. 내가 겪은 일은 설명할 수 없습니다. 시스템이 완전히 부팅되는 데 2분 44초가 걸렸는데, 이는 훨씬 덜 강력한 RPi보다 2분 더 긴 시간입니다.
이것이 내가 찾은 것입니다:
RPi Lubuntu
POST 0:10 0:06
Splash Screen NONE 0:28
Desktop Init 0:20 1:59
Browser launches 0:39 2:40
Ready 0:43 2:44
나는 무엇이 그렇게 오래 걸리는지 이해할 만큼 Linux를 잘 모르고, 더 중요하게는 더 나은 성능을 얻기 위해 무엇을 할 수 있는지도 모릅니다. 물건을 찢어 버리려고 시작합니까? 이것은 Lubuntu를 새로 설치한 것이므로 내용이 많지 않습니다. 물론 나에게 정말로 필요한 것은 웹 앱과 브라우저뿐입니다. 다른 배포판을 시도해야 합니까? 그렇다면 어느 것입니까? 설치된 USB 박스와 Live USB 박스 모두에서 뛰어난 성능을 기대합니다.
제공할 수 있는 도움이나 조언에 감사드립니다.
업데이트 1
편집: systemd-analyze 출력 추가
17.622s dev-sda1.device
12.457s snapd.service
12.221s udisks2.service
11.998s networkd-dispatcher.service
11.341s accounts-daemon.service
9.977s ModemManager.service
9.226s NetworkManager-wait-online.service
8.385s systemd-journal-flush.service
7.349s NetworkManager.service
7.258s thermald.service
6.689s apport.service
6.525s e2scrub_reap.service
6.353s apparmor.service
5.832s grub-common.service
5.803s rsyslog.service
5.267s avahi-daemon.service
5.067s systemd-logind.service
5.048s wpa_supplicant.service
5.043s ofono.service
5.032s grub-initrd-fallback.service
4.653s plymouth-quit.service
4.652s setvtrgb.service
4.519s colord.service
4.503s gpu-manager.service
3.919s upower.service
3.520s systemd-resolved.service
2.734s pppd-dns.service
2.625s systemd-udev-trigger.service
제가 이것을 실행하고 있는 장치는 서버가 아니라 아마도 6~7년 된 시어머니의 오래된 노트북입니다. 이는 프로젝트에서 사용할 기계 유형을 대표하기 때문에 이상적인 테스트 기계입니다(즉, 우리는 얻는 것을 얻지만 사양을 제어할 수는 없습니다).
교체할 수 없는 오래된 느린 하드 드라이브가 있는 것 같습니다. 서비스를 가장 효과적으로 중지할 수 있는 곳은 어디입니까? 나에게 정말로 필요한 것은 이더넷, Wi-Fi, 웹 앱 및 브라우저입니다.
=======업데이트 2
나는 조언을 받아들여 어떤 프로세스가 너무 오래 걸리는지 알아보기 위해 systemd-analyze Blame을 실행했습니다. 위에 결과를 올렸습니다. 그런 다음 어떤 서비스가 내 필요에 불필요한지 파악하고 비활성화하는 연습을 했습니다. 내가 찾은 것의 목록은 다음과 같습니다.
ModemManager.service
snapd.service
snapd.autoimport.service
snapd.core-fixup.service
snapd.seeded.service
snapd.system-shutdown.service
avahi-daemon.service
ofono.service
accounts-daemon.service
bluetooth.service
pppd-dns.service
그런 다음 다시 시작하고 중지한 서비스가 누락되었는지 확인했습니다. 불행히도 부팅 시간은 변경되지 않은 것 같습니다. 숫자는 다음과 같습니다.
Stripped Down
RPi Lubuntu Lubuntu
POST 0:10 0:06 0.06
Splash Screen NONE 0:28 0:28
Desktop Init 0:20 1:59 1:56
Browser launches 0:39 2:40 2:38
Ready 0:43 2:44 2:42
세부사항은 다음과 같습니다:
20.443s dev-sda1.device
10.809s networkd-dispatcher.service
9.951s udisks2.service
8.997s NetworkManager-wait-online.service
7.976s NetworkManager.service
6.407s rsyslog.service
6.405s thermald.service
6.210s grub-initrd-fallback.service
5.978s systemd-logind.service
5.953s wpa_supplicant.service
5.952s apport.service
5.952s grub-common.service
5.833s e2scrub_reap.service
5.177s gpu-manager.service
3.930s systemd-journal-flush.service
3.928s systemd-tmpfiles-setup.service
3.668s upower.service
3.652s systemd-resolved.service
3.611s systemd-udevd.service
3.475s apparmor.service
2.725s systemd-udev-trigger.service
2.184s ssh.service
1.904s systemd-backlight@backlight:radeon_bl0.service
1.159s systemd-sysctl.service
818ms systemd-rfkill.service
807ms systemd-modules-load.service
684ms systemd-sysusers.service
681ms systemd-tmpfiles-setup-dev.service
663ms [email protected]
631ms keyboard-setup.service
583ms systemd-timesyncd.service
비활성화한 모든 서비스가 목록에서 누락되었으며 나머지 각 서비스의 시간은 원래 서비스와 크게 다르지 않습니다. 하지만... 부팅 시간은 실제로 변하지 않습니다. 여기서 무슨 일이 일어나고 있는 걸까요? ?