Quand je fais un chat dans / proc / cpuinfo, il montre une ligne avec clflushsize: 64
Est-ce à dire que mon noyau fonctionne en 64 bits?
uname -a
vous dira le noyau - le bit de fin vous indique l'architecture.
Deux exemples:
Mon mac:
Darwin Mac.local 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386
Mon hébergement Dreamhost:
Linux ecco 2.6.24.5-serf-xeon-c6.1-grsec #1 SMP Tue Oct 7 06:18:04 PDT 2008 x86_64 GNU/Linux
i386 = 32 bits
x86_64 = 64 bits
uname -m
vous donnera l'architecture pour laquelle votre noyau est compilé. S'il s'imprime,i686
votre noyau est de 32 bits, s'ilx86_64
est de 64 bits, en supposant que vous avez une puce Intel / AMD.la source
i386
sur des plates-formes 32 bits plus anciennes (et j'ai même vu certains packages compilés pouri586
- je ne sais pas si cela serait jamaisuname
uname -m
vous donne l'architecture que le noyau choisit d'exposer à ce processus particulier, pas l'architecture native du noyau. Voir ce lien .uname -m
ne rapport l'architecture réelle. Si ce n'est pas le cas, alors très probablement, l'administrateur veut vraiment que vous croyiez que vous êtes sur cette autre architecture et votre meilleur pari est d'accepter qu'il sait ce qu'il fait. Si vous êtes l'administrateur et que vous jouez,setarch
vous savez déjà mieux de toute façon.setarch
et utilisent et vous pouvez invoquer un tel script sans avoir la moindre idée qu'il provoqueuname -m
le retour de quelque chose de différent. Il est possible, voire même probable, que ce genre de problèmes explique pourquoi le PO le demande.init
pense qu'il est 32 bits: la situation est un noyau 64 bits avec un espace utilisateur 32 bits. De nombreux systèmes de compilation dépendentuname -m
pour déterminer les drapeaux du compilateur, par exemple celui de GDB, ils doivent être fournis avec une fausse personnalité. Mais une autre application de l'espace utilisateur peut toujours vouloir savoir quel type de noyau elle possède (par exemple pour certains besoins de bas niveau), quelle que soit sa personnalité.Je pense que le moyen le plus précis est
ici ça montre exactement
64
trouvé sur cette astuce
getconf
provient du paquet libc-bin (sur ubuntu)la source
Si vous voulez un rapport simple mais détaillé sur votre système (CPU, noyau et logiciel Core OS) et pas seulement sur le noyau, voici un petit script bash qui vous donnera rapidement les réponses.
Si vous en savez assez sur les particularités des processeurs 32 bits / 64 bits et S / W, c'est tout simplement pratique. Si vous ne savez pas grand-chose et pensez que votre "système" est soit 32 bits soit 64 bits, cela vous aidera à découvrir que la vérité peut être plus complexe (certaines parties de votre système peuvent être 64 bits tandis que d'autres 32 bits) sans vous dérouter.
Encore une fois, ce script (et sa réponse) n'est pas destiné à la question littérale "Comment savoir si mon noyau Linux fonctionne en 32 bits ou 64 bits?" mais pour ceux qui veulent également connaître l'arc de leur CPU, et le noyau OS SW.
Exemples de rapports
Voici des exemples d'un cas assez inhabituel:
Rapport du mini-script (pour les utilisateurs expérimentés)
Rapport d'un script plus grand (pour les utilisateurs moins expérimentés)
Les scripts
Mini-script (pour les administrateurs expérimentés)
Ces 4 lignes donnent toutes les informations essentielles.
Script plus grand (pour les utilisateurs moins expérimentés)
Ce script imprime beaucoup d'explications et est utile si vous n'avez pas d'expérience sur le sujet et êtes confronté à un cas particulier.
Si vous voulez en savoir plus, lisez ces deux pages d'où j'ai obtenu la plupart des informations a) /programming/246007/how-to-determine-whether-a-given-linux-is-32- bit ou 64 bits b) /unix//a/134394/73271
la source
Si vous souhaitez voir uniquement la plate-forme sur laquelle vous exécutez, vous pouvez utiliser
La liste complète des options prises en charge pour
uname
est -la source
uname -i
impressionsGenuineIntel
, ce qui n'est pas vraiment ce qu'il cherche.Unknown
sur un Mac.i386
sur ma machine!CLFLUSHSIZE
ne vous dit rien sur le mode de fonctionnement du processeur. Selon cette réponse , il s'agit de la plus petite unité de cache jetable. Dans votre cas, les lignes de cache sont lues / écrites en unités de 64 octets.uname
la sortie varie trop pour être utile, comme le montre le tableau d'exemples de Wikipedia . La méthode la plus fiable estgetconf LONG_BIT
celle indiquée dans la réponse d'Aquarius Power . Cela fonctionne quelle que soit l'architecture du processeur, c'est donc tout à fait à la maison sur ARM, Power ou MIPS comme sur x86.la source