10 votos

¿Los archivos que se almacenan en caché por linux?

Entiendo que linux utiliza RAM sin usar para guardar algunos archivos en caché. Pero me pregunto, que archivos realmente escondites! Si usted echa un vistazo a free :

Gesamt Belegt Frei Gemeinsam Puffer Cached
Speicher:       5,8G       3,7G       2,1G         0B       259M       1,7G
-/+ Puffer/Cache:       1,8G       4,0G
Auslagerungsdatei:       4,0G         0B       4,0G

se dice que se utilizan 1,7 GB de mi memoria RAM como caché. Sé que esto no es comportamiento dañoso, pero tengo curiosidad acerca de qué archivos Linux considera cache-worthy. ¿Hay un archivo de comando/a que me muestra los archivos en caché?

9voto

yjwong Puntos 695

Si no estoy equivocado, el kernel de Linux almacena en caché las páginas específicas de un archivo, es decir, no todo el archivo se carga en la memoria caché de la página. Una herramienta que puede utilizar para averiguar si algunos de los contenidos de un archivo que está en la memoria caché de la página es fincore de la linux-ftools del proyecto. Mientras no mostrar todos los archivos almacenados en caché en el disco, da una idea aproximada de lo que se carga en la memoria caché de la página.

Un ejemplo (tomado de la página web del proyecto):

root@xxxxxx:/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 
stats for CLUSTER_LOG_2010_06_03.MYI: file size=345088 , total pages=84 , cached pages=43 , cached size=176128, cached perc=51.190476 
stats for CLUSTER_LOG_2010_06_04.MYD: file size=1478552 , total pages=360 , cached pages=97 , cached size=397312, cached perc=26.944444 
stats for CLUSTER_LOG_2010_06_04.MYI: file size=205824 , total pages=50 , cached pages=29 , cached size=118784, cached perc=58.000000 
stats for COMMENT_CONTENT_2010_06_03.MYI: file size=100051968 , total pages=24426 , cached pages=10253 , cached size=41996288, cached perc=41.975764 
stats for COMMENT_CONTENT_2010_06_04.MYD: file size=716369644 , total pages=174894 , cached pages=79821 , cached size=326946816, cached perc=45.639645 
stats for COMMENT_CONTENT_2010_06_04.MYI: file size=56832000 , total pages=13875 , cached pages=5365 , cached size=21975040, cached perc=38.666667 
stats for FEED_CONTENT_2010_06_03.MYI: file size=1001518080 , total pages=244511 , cached pages=98975 , cached size=405401600, cached perc=40.478751 
stats for FEED_CONTENT_2010_06_04.MYD: file size=9206385684 , total pages=2247652 , cached pages=1018661 , cached size=4172435456, cached perc=45.321117 
stats for FEED_CONTENT_2010_06_04.MYI: file size=638005248 , total pages=155763 , cached pages=52912 , cached size=216727552, cached perc=33.969556 
stats for FEED_CONTENT_2010_06_04.frm: file size=9840 , total pages=2 , cached pages=3 , cached size=12288, cached perc=150.000000 
stats for PERMALINK_CONTENT_2010_06_03.MYI: file size=1035290624 , total pages=252756 , cached pages=108563 , cached size=444674048, cached perc=42.951700 
stats for PERMALINK_CONTENT_2010_06_04.MYD: file size=55619712720 , total pages=13579031 , cached pages=6590322 , cached size=26993958912, cached perc=48.533080 
stats for PERMALINK_CONTENT_2010_06_04.MYI: file size=659397632 , total pages=160985 , cached pages=54304 , cached size=222429184, cached perc=33.732335 
stats for PERMALINK_CONTENT_2010_06_04.frm: file size=10156 , total pages=2 , cached pages=3 , cached size=12288, cached perc=150.000000 
---
total cached size: 32847278080

El comando anterior muestra algunos de los *.MYD, *.MYI y *.frm los archivos que tienen algunas páginas almacenadas en la memoria caché de la página.

Si realmente quería averiguar todos los archivos con al menos 1 página en la caché de la página, esto puede funcionar (no ha sido probado, va a producir una gran salida y probablemente va a tomar mucho tiempo para ejecutar):

cd /
find . -type f | xargs fincore --pages=false --summarize --only-cached

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: