따라해보려고 해요몽고DB 문서MongoDB를 실행하는 머신에 대해 LTH를 올바르게 구성합니다.
지침 중 하나에는 시작 시 실행되는 스크립트를 만드는 것이 포함됩니다. 아쉽게도 추천 스크립트나 유사한 코드가 없습니다.시스템 서비스로 다시 작성됨일하다.
이 문제를 디버깅하는 동안 또 다른 문제가 발생했습니다. 내가 실행할 때 :
root@demo:/# echo never > /sys/kernel/mm/transparent_hugepage/enabled
명령이 성공적으로 실행된 것 같지만 파일은 변경되지 않은 상태로 유지되므로 다음을 실행하면:
root@demo:/# cat /sys/kernel/mm/transparent_hugepage/enabled
원본 콘텐츠를 반환합니다.
always madvise [never]
vim
파일을 저장하려고 할 때 ;동기화 실패. 하지만오류가 기록되었습니다, 제 경우에는 디스크 공간이 충분했습니다 /
(20% 사용, 7GB 여유).
모드에서 명령을 실행했는데 sudo
파일 권한이 올바른 것 같습니다.
-rw-r--r-- 1 root root 4096 ...
디렉토리 /sys
가 아님읽기 전용 모드로 설치또는 아래와 같이 표시됩니다.
root@demo:/# grep sysfs /proc/mounts
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
여기서 무슨 일이 일어나고 있는 걸까요?
답변1
sysfs
, 일반적으로 마운트되는 파일 시스템은 /sys
Linux 커널과 상호 작용하는 특수 가상 파일 시스템입니다.
내부 파일은 실제 파일이 아니며 매우 간단한 액세스 방법만 지원하는 커널의 데이터 구조를 나타냅니다. 이러한 파일을 읽으면 커널에 정보를 요청합니다. 이러한 파일에 기록하면 커널에 설정을 변경하거나 작업을 수행하도록 지시합니다.
그것이 vim
실패한 이유입니다. 실제 파일에 최적화된 방식으로 가상 파일에 접근을 시도하지만 sysfs
.
첫 번째 명령
root@demo:/# echo never > /sys/kernel/mm/transparent_hugepage/enabled
이미 성공했습니다!
많은 sysfs "파일"(포함 /sys/kernel/mm/transparent_hugepage/enabled
)은 읽을 때 현재 설정을 인쇄할 뿐만 아니라 가능한 모든 모드를 인쇄하고 괄호를 사용하여 여러 모드 중 어느 모드가 활성화되어 있는지 설명합니다.
귀하의 경우에는 never
괄호 안에 있으므로 활성화하려는 모드가 echo
이미 활성화되어 있습니다.
always madvise [never]