Existe-t-il un moyen de connaître la taille du cache L1, L2, L3 et de la RAM dans Ubuntu?
Une commande de terminal ou des fichiers que je pourrais examiner?
linux
ubuntu
operating-systems
user3692521
la source
la source
Réponses:
Informations CPU
Utilisez la commande lscpu :
Les informations répertoriées sont par cœur de processeur.
Informations sur la mémoire
Il y a la commande libre (-h donne des résultats sous forme lisible par l'homme, c'est-à-dire GiB plutôt que des octets):
la source
Cela vous donnera vos informations de cache. La désignation de socket vous indiquera à quel cache il est fait référence dans la section.
Pour la RAM, il y a quelques choses à regarder, mais meminfo devrait le faire. J'ai utilisé grep ici pour afficher uniquement total / free mais vous pouvez utiliser moins ou cat pour voir le tout. Il affiche beaucoup plus d'informations sur la taille et l'utilisation de la mémoire que sur la taille.
la source
Sur la base de la réponse de jkabrams avec la commande suivante et en filtrant le "cache", chaque élément de cache qui vous est présenté.
et RAM:
Pour plus d'informations sur la RAM, les processus, etc., vous pouvez utiliser htop sur votre distribution. Installez-le comme ceci sur ubuntu.
la source
sysfs
Donne:
getconf
donne:
Ou pour un seul niveau:
La chose intéressante à propos de cette interface est qu'elle n'est qu'un wrapper autour de la
sysconf
fonction POSIX C (les arguments de cache sont des extensions non-POSIX), et qu'elle peut donc également être utilisée à partir du code C.Testé dans Ubuntu 16.04.
Instruction CPUID x86
L'instruction CPUID x86 offre également des informations sur le cache et est directement accessible par l'utilisateur: https://en.wikipedia.org/wiki/CPUID
la glibc semble utiliser cette méthode pour x86. Je n'ai pas confirmé par étape le débogage / suivi des instructions, mais la source de 2.28 le
sysdeps/x86/cacheinfo.c
fait:TODO créer un exemple C minimal, paresseux maintenant, demandé à: /programming/14283171/how-to-receive-l1-l2-l3-cache-size-using-cpuid-instruction-in-x86
ARM dispose également d'un mécanisme défini par l'architecture pour trouver les tailles de cache via des registres tels que le registre d'ID de taille de cache (CCSIDR), voir le manuel ARMv8 Programmers 'Manual 11.6 «Cache discovery» pour un aperçu.
la source