フォローしようとしています。モンゴルDBドキュメントMongoDBを実行しているマシンに対してLTHを正しく設定します。
指示の1つには、起動時に実行されるスクリプトの作成が含まれます。残念ながら、推奨スクリプトや同様のコードはありません。システムサービスとして書き換え働く
この問題のデバッグ中に別の問題が発生しました。私が実行したとき:
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]
仕組みに興味がある場合は、sysfs
詳細をお読みください。ウィキペディアまたはLinuxカーネルドキュメント。