Linux 시스템 터미널의 지연, 느린 종료와 같은 문제를 겪은 적이 있나요? 이러한 문제는 사용자 경험에 영향을 미칠 뿐만 아니라 업무 효율성과 시스템 안정성에도 영향을 미칠 수 있습니다. 이 문서에서는 시스템 성능을 향상하고 지연 및 장기 종료 문제를 방지하는 데 도움이 되는 몇 가지 Linux 시스템 최적화 방법을 소개합니다.
Sigterm과 sigkill의 개념에 조금이라도 익숙해지셨기를 바랍니다.
Linux 시스템을 종료하면 종료 신호(sigterm)를 보내고 실행 중인 프로세스에 중지를 정중하게 요청합니다. 일부 프로세스는 이 동작을 따르지 않고 종료 신호를 무시하고 계속 실행됩니다.
이로 인해 시스템이 실행 중인 프로세스가 중지될 때까지 미리 정의된 시간 동안 기다리므로 종료 프로세스가 지연될 수 있습니다. 이 기간이 지나면 종료 신호를 보내 나머지 실행 중인 모든 프로세스를 강제로 중지하고 시스템을 종료합니다.
실제 어떤 경우에는 검은 화면에 "작업 중지가 실행 중입니다"라는 메시지가 표시되는 경우가 있습니다.
시스템이 너무 오랫동안 다운된 경우 취할 수 있는 조치는 다음과 같습니다.
어떤 프로세스/서비스가 너무 오래 걸리는지 확인하고 제대로 실행되도록 제거하거나 재구성할 수 있는지 확인하세요.
시스템이 실행 중인 프로세스를 강제로 중지하기 전 기본 대기 시간을 변경합니다. (빠르고 우아하지 않은 방법)
제 운영체제는 systemd를 사용하는 Ubuntu입니다. 여기에 나와 있는 명령과 단계는 systemd(대부분의 배포판)를 사용하는 모든 Linux 배포판에 적용됩니다.
Linux를 장기간 종료시킬 수 있는 프로세스를 확인하세요
문제가 무엇인지 알고 싶다면 마지막으로 종료했을 때 무슨 일이 일어났는지 확인해야 합니다. 이 명령을 사용하면 "나는 당신이 지난 여름에 한 일을 알고 있습니다"("나는 당신이 지난 여름에 한 일을 알고 있습니다"의 말장난)의 힘을 얻습니다.
으아악journalctl 명령을 사용하면 시스템 로그를 읽을 수 있습니다. 마지막으로 시작된 세션에 대한 로그를 필터링하려면 -b -1 옵션을 사용하십시오. -r 옵션을 사용하면 로그가 시간 역순으로 표시됩니다.
즉, Journalctl -rb -1 명령은 Linux 시스템을 마지막으로 종료하기 전의 시스템 로그를 표시합니다. 여기서는 Linux 시스템의 장기 종료 문제를 분석해야 합니다.
일지가 없나요? 이렇게 해야 합니다
저널 로그가 없다면 배포판이 systemd를 사용하는지 확인하세요.
systemd를 사용하는 일부 Linux 배포판에서도 저널 로깅은 기본적으로 활성화되지 않습니다.
/var/log/journal이 존재하는지 확인해주세요. 존재하지 않는 경우 생성하세요.
으아악또한 /etc/systemd/journald.conf 파일의 내용을 확인하고 Storage 값이 자동 또는 영구로 설정되어 있는지 확인해야 합니다.
로그에서 의심스러운 내용을 발견하셨나요? 중지를 거부하는 프로세스/서비스가 있다면 부작용 없이 제거할 수 있는지, 아니면 재구성할 수 있는지 조사해 보세요. 여기 있는 내용을 맹목적으로 삭제하지 마세요. 이 과정에 대해 어느 정도 알고 있어야 합니다.
기본 중지 시간 제한을 줄여 Linux에서 종료 속도를 높입니다(빠른 수정)
기본 종료 대기 시간은 일반적으로 90초로 설정됩니다. 이 시간이 지나면 시스템은 서비스를 강제로 중지하려고 시도합니다.
Linux 시스템을 빠르게 종료하려면 이 대기 시간을 변경할 수 있습니다.
/etc/systemd/system.conf에 있는 구성 파일에서 모든 systemd 설정을 찾을 수 있습니다. 이 파일에는 #으로 시작하는 줄이 많이 있어야 합니다. 이는 파일의 각 항목에 대한 기본값을 나타냅니다.
시작하기 전에 원본 파일의 복사본을 만들어 두는 것이 좋습니다.
으아악여기에서 DefaultTimeoutStopSec를 찾으세요. 90초로 설정될 수 있습니다.
으아악이 값을 5초, 10초 등 좀 더 편리한 값으로 변경해야 합니다.
으아악터미널에서 구성 파일을 편집하는 방법을 모르는 경우 이 명령을 사용하여 시스템의 기본 텍스트 편집기(예: Gedit)에서 편집할 파일을 열 수 있습니다.
으아악DefaultTimeoutStopSec 앞의 #을 삭제하는 것을 잊지 마세요. 파일을 저장하고 시스템을 다시 시작하십시오.
이것은 Linux 시스템의 종료 지연을 줄이는 데 도움이 됩니다.
감시견 문제!
Linux에는 특정 서비스가 실행 중인지 모니터링하는 watchdog이라는 모듈이 있습니다. 소프트웨어 오류로 인해 시스템이 중단되는 경우 시스템을 자동으로 다시 시작하도록 구성할 수 있습니다.
시스템을 수동으로 종료하거나 다시 시작할 수 있기 때문에 데스크탑 시스템에서 워치독을 사용하는 것은 일반적이지 않습니다. 원격 서버에서 자주 사용됩니다.
먼저 워치독이 실행 중인지 확인하세요.
으아악시스템이 watchdog을 실행 중인 경우 systemd 구성 파일 /etc/systemd/system.conf에서 ShutdownWatchdogSec 값을 10분에서 더 낮은 값으로 변경할 수 있습니다.
이 기사의 소개를 통해 서비스 비활성화, 커널 매개변수 조정, 드라이버 업그레이드, 정크 파일 정리 등을 포함하여 Linux 시스템을 최적화하는 몇 가지 방법을 이미 배웠습니다. 이러한 방법을 통해 시스템 성능을 향상시키고 터미널 정지 및 느린 종료와 같은 문제를 피할 수 있습니다. 물론 다양한 시스템과 사용 시나리오에는 다양한 최적화 방법이 필요합니다. 실제 적용에서는 특정 상황에 따라 적절한 최적화 전략을 선택하고 실제 효과에 따라 조정할 수 있습니다.
위 내용은 터미널이 멈추고 천천히 종료됩니까? Linux 시스템 최적화 및 속도 향상 가이드가 나왔습니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!