주위를 둘러보니 표준 수정 사항은 커널 부팅 매개변수에 추가하는 것이었습니다.
systemd-boot를 사용하면 내 arch.conf는 다음과 같습니다:
title Arch Linux
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
options root=PARTUUID="98b3b4f7-e7f9-6f49-be81-a2ee709c7a3e" rw
options
항목 에 CONFIG_TASK_DELAY_ACCT를 어떻게 추가합니까 ?
다른 줄?
아니면 일부 구분 기호를 사용하여 기존 줄에 추가하시겠습니까?
어떤 값으로 설정해야 합니까?
답변1
실제로 발생한 iotop 오류에 대한 간단한 수정 방법이 있지만 여기에서 거기까지 가는 것은 우회적인 방법입니다.
options delayacct
[TL;DR: systemd-boot를 사용하는 경우 sd-boot 항목 구성 파일 끝에 새 줄을 추가하세요. GRUB에는 해당 구문이 있습니다. 선호될 수 있는 대체 비부팅 관리자 구성 옵션도 있습니다. ]
@Artem이 맞습니다. CONFIG_TASK_DELAY_ACCT
커널 구성 또는 빌드 옵션입니다. 그 사람도 맞습니다. 따라서 이는 커널이 컴파일되는 방식과 관련이 있으며 런타임에 추가할 수 없습니다.즉, 시작 시.
CONFIG_TASK_DELAY_ACCT
많은 배포판에서 이 옵션을 사용하여 커널을 컴파일하지만 기본적으로 비활성화하기 때문에 iotop은 "y"로 설정된 경우에도 종종 이 오류를 발생시킵니다 .
이는 iotop 오류 메시지의 문자 그대로의 의미에 관계없이 커널을 다시 컴파일하는 것은 시간 낭비일 수 있음을 의미합니다. 확인하려면 커널 구성 파일을 확인하세요. 파일(구성-커널 버전) 일반적으로 커널(vmlinuz-커널 버전) 및 initrd(initrd.img-커널 버전)문서,예를 들어또는 EFI 시스템 파티션이 설치된 위치에 따라 달라질 /boot
수 있습니다 . /efi
그러니,예를 들어:
grep TASK_DELAY_ACCT /boot/config*
이는 다음과 같은 결과를 반환할 수 있습니다:
/boot/config-5.15.0-41-generic:CONFIG_TASK_DELAY_ACCT=y
/boot/config-5.15.0-43-generic:CONFIG_TASK_DELAY_ACCT=y
=y
커널이 이 옵션으로 컴파일되었음을 알려줍니다 . 이로 인해 iotop 오류 메시지가 덜 신비해지지는 않지만 커널이 정상임을 확인합니다. 그렇다면 해당 커널 매개변수를 kernel.task_delayacct
활성화하여 iotop 오류를 수정해야 하는지 확인하십시오. 매개변수를 확인하려면 다음을 수행하십시오.
cat /proc/sys/kernel/task_delayacct
0이 반환되면 비활성화된 것입니다. 1. 활성화되었습니다. 이 매개변수를 활성화하려면 다음 중 하나를 수행하십시오.
현재 세션의 경우:
echo 1 > /proc/sys/kernel/task_delayacct
이는 즉시 적용되며 재부팅이 필요하지 않습니다.
보다 영구적으로 만들려면 새 줄
/etc/sysctl.conf
이나 포함된 .conf 파일 에 다음을 추가하세요/etc/sysctl.d
.kernel.task_delayacct=1
아니면 이렇게 하세요:
# echo "kernel.task_delayacct=1" >> /etc/sysctl.d/20-kernel-task-delayacct.conf
적용하려면 다시 시작하세요.
delayacct
부팅 관리자에 따라 커널 명령줄에 추가됩니다 . 이것은 systemd-boot에 관해 질문할 때 취하는 접근 방식입니다.GRUB2의 경우, 다음 줄을 추가하거나 편집하여
/etc/default/grub
읽으세요.GRUB_CMDLINE_LINUX_DEFAULT="delayacct"
그런 다음 파일을 저장하고 닫은 후 다음을 수행하십시오.
# update-grub
적용하려면 다시 시작하세요.
시스템 시작의 경우, 편집하세요입구.conf 파일을 만들고 새 줄을 추가하면 됩니다.
options delayacct
시스템 부팅특허키
options
는 부트로더 항목 파일에 여러 번 나타나므로 기존 키를 편집하는 대신 추가 줄을 추가하는 것만으로도options
충분합니다.적용하려면 다시 시작하세요.
답변2
이것은 커널이다세워옵션이므로 런타임에 "추가"할 수 없습니다.
자신만의 커널을 빌드하거나 관리자에게 이 옵션을 사용하여 커널을 빌드하도록 요청하십시오. 일부 커널 옵션은 다른 옵션에 의존하고 이러한 종속성은 매우 바람직하지 않을 수 있으므로 이를 수행할 수도 있고 수행하지 않을 수도 있습니다. 예를 들어 커널 속도가 크게 느려질 수 있습니다.