Auto Nice Daemon은 오래되었고 소프트웨어 우선 순위를 수동으로 변경하는 것은 성가신 일입니다. 각 프로그램이 사용해야 하는 리소스의 수를 제어하는 현대적인 방법이 없을까요? 최신 auto-nice 솔루션인 Ananicy(ANother Auto NICe 데몬)를 만나보십시오. 이 솔루션을 사용하면 소프트웨어에 대한 프로필을 생성하여 관심 있는 앱의 우선 순위를 지정할 수 있습니다. 어떻게 할 수 있는지 봅시다.
설치
Anancy가 작동하려면 시스템이 필요하므로 태양 아래 모든 배포판과 호환되지는 않습니다. Ubuntu, Mint, Debian 및 호환되는 배포판에 설치하려면 다음을 사용하십시오.
git clone https://github.com/Nefelim4ag/Ananicy.git ./Ananicy/package.sh debian sudo dpkg -i ./Ananicy/ananicy-*.deb
Arch, Manjaro 또는 기타 유사한 배포판을 사용 중인 경우 다음을 사용하여 설치할 수 있습니다.
git clone https://github.com/Nefelim4ag/Ananicy.git /tmp/ananicy cd /tmp/ananicy sudo make install
Ananicy는 또한 schedtool
에 의존합니다. , 따라서 아직 설치되지 않은 경우 이것도 추가하십시오. 다음을 사용하여 각각 Debian 호환 및 Arch 호환 배포판에서 수행할 수 있습니다.
# Debian/Ubuntu sudo apt install schedtool # Arch Linux sudo pacman -S schedtool
모든 것이 설정되면 데몬을 활성화하여 항상 활성화하고 애플리케이션을 모니터링합니다.
sudo systemctl enable ananicy
실제 응용 프로그램을 시작하려면 다음을 사용하십시오.
sudo systemctl start ananicy
모든 소프트웨어가 리소스를 차지하기 위해 싸우는 저전력 시스템을 사용하는 경우 즉시 반응이 다소 좋아지기 시작할 수 있습니다.
사전 설정 확인
Ananicy는 많은 인기 있는 애플리케이션에 대한 많은 규칙과 함께 사전 번들로 제공됩니다. 그것들을 확인하려면 좋아하는 터미널을 실행하고 Ananicy의 규칙 디렉토리를 방문하십시오:
cd /etc/ananicy.d/00-default/
각 응용 프로그램에 대한 규칙은 별도의 파일에 저장됩니다. 예를 들어, 인기 있는 qBittorrent 파일 공유 클라이언트에 대한 사전 설정 규칙을 확인하려면 다음을 사용할 수 있습니다.
sudo nano qBittorrent.rules
이를 자신의 규칙에 대한 기반으로 사용할 수 있습니다.
자신만의 규칙 추가
응용 프로그램에 대한 규칙을 만들려면 해당 프로세스 이름을 알아야 합니다. 고맙게도 Linux에서는 일반적으로 응용 프로그램 이름과 동일합니다. top
을 사용할 수 있습니다. 프로세스 이름을 확인하는 명령입니다.
컴퓨터를 독차지하는 프로세스를 찾아 이름을 기록해 둡니다. 타임시프트 앱을 예로 들어 보겠습니다.
Ananicy의 규칙 디렉터리에 새 텍스트 파일을 만듭니다. 나중에 참조하기 쉽도록 응용 프로그램 이름을 사용하는 것이 좋습니다. Ananicy가 규칙 파일로 인식할 수 있도록 파일 끝에 ".rules"가 있어야 합니다.
sudo nano timeshift.rules
소프트웨어에 대한 규칙을 생성하는 가장 쉬운 방법은 이름만 명시하고 유형을 분류하는 것입니다. Ananicy는 게임, 멀티미디어 앱, 문서 편집기 등에 대해 미리 정의된 유형과 함께 제공됩니다. 확인하려면 다음 명령을 사용하세요.
ananicy dump types
이들 각각은 다른 nice, ionice, cgroup 및 기타 값과 함께 제공되지만 애플리케이션의 nice 값을 조정하는 것 이상으로 진행하지 않는 것이 좋습니다. 그러나 스토리지에서 많이 읽고 쓰는 애플리케이션의 경우 ioclass 매개변수를 사용하여 입출력 우선순위를 정의하는 것도 가치가 있습니다.
이 모든 것을 염두에 두고 자체 맞춤 규칙을 만들 준비가 되었습니다.
{ "name": "timeshift", "type": "BG_CPUIO", "nice": 17, "ioclass": "idle" }
위의 규칙:
- 애플리케이션 이름 명시
- 유형 정의
- 사전 설정과 비교하여 다른 우선 순위를 지정합니다.
- 입력/출력 우선 순위를 유휴 상태로 설정
이론적으로 응용 프로그램의 이름만 명시하면 되고 나머지는 모두 선택 사항입니다. 실제로 그렇게만 하면 Ananicy는 앱의 존재만 인정할 뿐 앱을 제어하려고 하지는 않습니다. 이를 위해서는 최소한 해당 유형을 정의해야 합니다.
그 유형은 미리 정의된 다양한 nice 및 입력/출력 값과 함께 제공되며, 아마도 소프트웨어를 제한하려는 방식과 일치하는 값을 찾을 수 있을 것입니다. 그러나 때때로 timeshift의 경우와 같이 더 미세하게 조정할 수 있습니다. 이때 원하는 nice 또는 ioclass 값이 Ananicy의 유형 사전 설정에 포함된 값과 다른 경우 명시적으로 명시해야 합니다.
BG_CPUIO
우리가 선택한 사전 설정은 백업 솔루션으로 일반적으로 백그라운드에서 실행되지만 연속 읽기 및 쓰기를 수행하는 동안 많은 처리 주기를 소모할 수 있기 때문에 애플리케이션 유형과 일치합니다. 그러나 BG_CPUIO 사전 설정은 가능한 가장 낮은 nice 및 ionice 값을 할당하므로 백업 프로세스가 오래 걸릴 수 있습니다. 이 때문에 프로세스 속도를 다소 높이기 위해 nice 값을 17로, ioclass를 best-effort로 높였습니다.
다른 예를 살펴보겠습니다. 배트맨:아캄 시티의 "조커의 카니발" DLC는 제가 가장 좋아하는 게임 중 하나입니다. 하지만 그 동작은 유동적인 동작에 의존하며, 다른 소프트웨어가 백그라운드에서 실행될 때마다 Linux Mint에서 버벅거림을 느낄 수 있었습니다. 따라서 이 경우에는 반대 작업을 하고 싶었습니다. 다른 모든 것보다 우선 순위를 높이는 것입니다.
Proton으로 Steam을 통해 게임을 실행한 후 Linux Mint의 시스템 모니터를 확인하면 프로세스 이름이 "BatmanAC.exe"임을 알 수 있습니다. Ananicy로 좋은 효과를 주기 위해 이전과 같이 "BatmanAC_ody.rules"라는 새 규칙을 만들었습니다. 그러나 이 경우 그 내용은 다음과 같았습니다.
{ "name": "BatmanAC.exe", "type": "Game"}
"게임" 유형에는 "-5"라는 좋은 값이 제공되어 앱을 다른 모든 것보다 우선시하기 때문에 충분했습니다. 따라서 좋은 값을 명시적으로 명시하거나 더 복잡한 규칙을 만들 필요가 없습니다.
좋은 측정을 위해 나중에 한 번 다시 시작하면 Ananicy가 활성화되어 소프트웨어의 우선 순위를 조정하기 위해 조치를 취할 준비가 됩니다. 아래 스크린샷에서 BatmanAC.exe 프로세스에 대해 표시되는 값은 사용자 개입 없이 자동으로 할당되었습니다.
모든 소프트웨어에 대해 이 작업을 수행할 필요는 없지만 가장 까다로운 백그라운드 프로세스를 제어하고 보다 인터랙티브한 프로세스를 강화하면 컴퓨터 사용 방식이 완전히 달라질 수 있습니다. 말더듬을 최소화하고 주변에서 더 부드러운 경험을 제공할 수 있습니다.
컴퓨터의 리소스가 앱에 할당되는 방식을 제어할 수 있는 Ananicy 또는 다른 유사한 솔루션을 이미 사용하고 있습니까? 소프트웨어를 수동으로 갱신하고 있습니까? 아래 댓글 섹션에 알려주세요.