/ls キャッシュを探す

/ls キャッシュを探す

初めて実行したりfindlsディレクトリで実行すると動作するのに時間がかかるようです。ただし、それ以降は常にディレクトリの内容のリストがどこかにキャッシュまたはインデックス付けされているかのように高速です。

コンピュータを再起動してもこのキャッシュを保存する方法はありますか?

答え1

あなたはそれを使用することができます仮想タッチページキャッシュ(ディスクキャッシュ)にファイルを追加します。

nohup vmtouch -dl <files or directories> &追加するファイルを挿入し、/etc/rc.local起動時にページキャッシュにファイルをロックします。ページキャッシュにファイルを追加したいがメモリにロックしたくない場合は、flagsの-t代わりにフラグを使用してください-ld

ページキャッシュの詳細については、次を参照してください。ここここ、および情報ウィキペディア

答え2

「再起動後も維持」が疑わしい。ただし、起動時にキャッシュを簡単に再構築できます。この方法は、わずかな遅延だけでほぼ同じことを行います。

ファイルを作成し、/etc/cron.d/rebuild-fs-cache次の内容を入れてください。

@reboot root /usr/bin/nice -n 19 /usr/bin/ionice -c 3 -t /usr/bin/find / >/dev/null 2>&1

これは、プロセスの優先順位をできるだけ高いレベルに下げるためにniceioniceデフォルトでインストールする必要があり、パッケージマネージャを介して確実に使用できます。Debianはそれをcoreutils別々に入れます)。つまり、Itの他の項目を妨げてはいけません。システムで実行されますが、完了するまでに少し時間がかかります。カーネルがファイルシステムデータをディスクからメモリにロードするように強制するすべてのプロセスを独自に実行します。util-linuxfindfindstat()

キャッシュが構築されると、オペレーティングシステムは別の目的でメモリを必要とするため、キャッシュが消去されない限り維持する必要があります。私はしばらく使ってきましたが、ディレクトリリストは大きなディレクトリでもうまくいきます。かなり正確な数字を引用することはできませんが、上記のクローン操作を使用しないよりも高速です。

関連情報