最初のディレクトリに使用したときはfind <dir> -depth
かなり時間がかかりましたが、次回は別のパターンを検索するときも早いようです。
なぜそんなことですか?より良いパフォーマンスを達成するために、この動作をさらに活用できますか?
答え1
コマンドを初めて入力すると、find
オペレーティングシステムはディスクからサブディレクトリ情報を取得する必要があります。同じコマンドを2番目に入力すると、キャッシュからデータをより高速に取得できます。
異なるパターンを使用して出力をフィルタリングすると、find
一部の項目だけがパターンと一致していても、各ディレクトリが完全に読み取られます。これにより、キャッシュは他のモードに必要な情報で埋められます。
しかし、システムをしばらく使用すると、キャッシュメモリを他の用途に使用することができる。その後、同じfind
コマンドでディスクからデータを再インポートする必要があり、最初のように遅くなることがあります。キャッシュの再利用リスクを制限するには、メモリを追加する必要があります。