Im Wesentlichen meine Frage ist, weiß jemand von einem Dienstprogramm zur Überprüfung der Puffercache in Linux?Wie können Sie feststellen, ob eine Datei im Speicher in Linux zwischengespeichert wird?
Antwort
Werfen Sie einen Blick auf linux-ftools. Diese Suite von Tools wurde speziell entwickelt, um die Puffer und den Cache zu analysieren. Es enthält die folgenden Werkzeuge:
- fincore
- fadvise
- fallocate
Von diesen drei Tools derjenige, der die Liste der Dateien in den Puffern & Cache fincore
ist zeigen.
$ fincore [options] files...
--pages=false Do not print pages
--summarize When comparing multiple files, print a summary report
--only-cached Only print stats for files that are actually in cache.
[email protected]:/var/lib/mysql/blogindex# fincore --pages=false --summarize --only-cached *
stats for CLUSTER_LOG_2010_05_21.MYI: file size=93840384 , total pages=22910 , cached pages=1 , cached size=4096, cached perc=0.004365
stats for CLUSTER_LOG_2010_05_22.MYI: file size=417792 , total pages=102 , cached pages=1 , cached size=4096, cached perc=0.980392
stats for CLUSTER_LOG_2010_05_23.MYI: file size=826368 , total pages=201 , cached pages=1 , cached size=4096, cached perc=0.497512
stats for CLUSTER_LOG_2010_05_24.MYI: file size=192512 , total pages=47 , cached pages=1 , cached size=4096, cached perc=2.127660
...
Leider sind diese Tools in den meisten Linux-Distributionen standardmäßig nicht verfügbar (Ich habe Ubuntu und SuSE überprüft, ich habe kein Redhat zur Hand). – guettli
Ich bin nicht ganz sicher, ob Sie sich zu fragen, was ich denke, Sie fragen, aber vmtouch könnten Sie hilfreich. Geben Sie einfach vmtouch [file or folder you want to check for presence in cache]
Der Linux-Kernel speichert keine Dateien, es speichert Blöcke. Eine Datei kann aus vielen Blöcken bestehen, von denen einige zwischengespeichert werden und andere nicht. Was genau willst du erreichen? –