답변1
uname -m
그러면 일반적 으로 문제가 해결됩니다 arch
.
이 두 명령의 출력은 커널이 빌드된 아키텍처를 알려줍니다. 일반적으로 32비트인지 64비트인지는 매우 명확합니다(x86_64 및 ia64는 두 가지 가능한 64비트 아키텍처입니다). 그러나 64비트 하드웨어에서 실행하는 경우 32비트 커널을 사용할 수 있습니다. 하드웨어에 대해 정말로 배우고 싶다면 확인해보십시오.
less /proc/cpuinfo
"flags" 줄에 "lm"이 있으면 64비트입니다.
아니면 당신이 가지고 있다면lshw
lshw -class processor
그리고 "너비" 선을 보세요.
두 옵션 모두 grep
출력을 확인하지 않고도 이를 사용하여 신속하게 답변을 얻을 수 있습니다.
답변2
bootinfo
정확히 무엇을 알고 싶은지에 따라 여러 가지 가능한 대답이 있습니다( AIX가 어느 것에 해당하는지 모르겠습니다 ).
flags
의 행을 검토하면 CPU가 64비트인지, 32비트인지, 아니면 둘 다인지 알 수 있습니다/proc/cpuinfo
. 아키텍처 제품군에서 가능한 징후를 이해해야 합니다. 예를 들어, i386/amd64 플랫폼에서 이lm
플래그는 amd64를 지원하는 CPU를 식별합니다(이 플래그가 없는 CPU는 i386 전용입니다).아키텍처를 쿼리하여 커널이 32비트인지 64비트인지 확인할 수 있습니다
uname -m
. 예를 들어i[3456]86
is는 32비트x86_64
이지만 64비트입니다 . 일부 아키텍처에서는 64비트 커널이 32비트 사용자 모드 프로그램을 실행할 수 있으므로uname -m
64비트 커널이 표시되더라도 64비트 라이브러리를 사용할 수 있다는 보장은 없습니다.쿼리를 통해 사용자 공간에서 사용 가능한 항목을 확인할 수 있습니다.최하위 비트지원과
lsb_release
주문하다. 보다 정확하게는 지원되는 LSB 기능의 구분된 목록을lsb-release -s
인쇄합니다 .:
모든 특징에는 형태가 있습니다. 예를 들어, ix86 C 라이브러리의 가용성은 으로 표시되지만 amd64용 에뮬레이션 라이브러리는 로 표시됩니다. 그러나 모든 배포판이 사용 가능한 모든 LSB 모듈을 선언하는 것은 아니므로 이 방법으로 감지할 수 있는 것보다 더 많은 LSB 모듈이 있을 수 있습니다.module-*version*-architecture
core-2.0-ia32
core-2.0-amd64
sizeof(void*)
또는 (C 컴파일러를 사용할 수 있다고 가정)을 인쇄하는 5줄 C 프로그램을 컴파일하여 개발에 선호되는 단어 크기를 확인할 수 있습니다sizeof(size_t)
.