-
Anda dapat melihat apakah CPU adalah 64-bit, 32-bit, atau mampu keduanya dengan mencentang
flags
baris di/proc/cpuinfo
. Anda harus mengetahui kemungkinan bendera pada keluarga arsitektur Anda. Misalnya, pada platform i386/amd64,lm
flag mengidentifikasi CPU berkemampuan amd64 (CPU yang tidak memiliki flag tersebut hanya i386).grep -q '^flags\s*:.*\blm\b' /proc/cpuinfo # Assuming a PC
-
Anda dapat melihat apakah kernel 32-bit atau 64-bit dengan menanyakan arsitektur dengan
uname -m
. Misalnya,i[3456]86
adalah 32-bit sedangkanx86_64
adalah 64-bit. Perhatikan bahwa pada beberapa arsitektur, kernel 64-bit dapat menjalankan program userland 32-bit, bahkan jika kodeuname -m
menunjukkan kernel 64-bit, tidak ada jaminan bahwa pustaka 64-bit akan tersedia.[ "$(uname -m)" = "x86_64" ] # Assuming a PC
Perhatikan juga bahwa
uname -m
dapat mengembalikan nilai "tervirtualisasi". Misalnya, di Linux, jika Anda menjalankansetarch i386 bash
pada sistem amd64, dan Anda menjalankanuname -m
dari bash itu, Anda akan melihatuname -m
melaporkani386
. Ini secara efektif memungkinkan Anda berpura-pura menggunakan “sistem 32-bit” meskipun kernelnya 64-bit, misalnya untuk mengompilasi program 32-bit tanpa menyiapkan kompilasi silang. -
Anda dapat melihat apa yang tersedia di userland dengan menanyakan dukungan LSB dengan
lsb_release
memerintah. Lebih tepatnya,lsb_release -s
mencetak:
-daftar terpisah dari fitur LSB yang didukung. Setiap fitur memiliki bentukmodule-version-architecture
. Misalnya, ketersediaan library ix86 C ditunjukkan dengancore-2.0-ia32
, sementaracore-2.0-amd64
adalah analog untuk amd64. Namun, tidak setiap distribusi mendeklarasikan semua modul LSB yang tersedia, jadi lebih banyak modul yang tersedia daripada yang terdeteksi dengan cara ini. -
Anda dapat mengetahui ukuran kata yang disukai untuk pengembangan (dengan asumsi kompiler C tersedia) dengan mengompilasi program C 5-baris yang mencetak
sizeof(void*)
atausizeof(size_t)
.
Anda dapat menggunakan uname -a
dan cari x86_64
untuk melihat apakah Anda menjalankan 64-bit. Ada lagi (Sejauh yang saya tahu) dan Anda menjalankan 32-bit atau Anda menggunakan perangkat keras non-PC seperti alpha
, sparc
, atau ppc64
.
uname -m | sed 's/x86_//;s/i[3-6]86/32/'