내 시스템이 64 비트인가?


2
uname -m

나에게 준다.

x86_64

,그러나

getconf LONG_BIT

주는

32

그래서 제 시스템은 64 또는 32 비트입니까? (그것은 Gentoo이고 root 권한이 없습니다)


1
무엇이 file ...에 which getconf 너 줄까? 무엇을 하는가? /usr/libexec/conf/default 다음으로 연결?
David Schwartz

무엇을 설치 했습니까?
Ramhound

답변:


1

CPU가 64 비트입니다. 커널이 64 비트입니다. 다른 것은 32 비트이지만, 무엇을 말하기가 어렵습니다. 아마도 getconf 당신의 길에서 제일 먼저 오는 것은 32 비트입니다. 들어 봐. /usr/libexec/getconf 단서를 위해.

최신 정보 : 주로 32 비트 사용자 공간을 가지고있는 것 같습니다. 아마도 누군가 4GB 이상의 물리적 메모리를 지원하기 위해 64 비트 OS를 설치했을 것입니다. 64 비트 실행 파일이있을 수 있습니다. 그러나 이제는 혼합 된 환경이 분명합니다.


나는 없다. / usr / libexec / :(
Marqin

괜찮아. 귀하의 플랫폼이 어떤 구성을 대상으로 결정하는지 궁금합니다.
David Schwartz

/ usr / lib에서? BSD를 사용하지 않고 있습니다 ...
Marqin

페도라 / 레드햇 사용 /usr/libexec. 젠투가 사용하는 것 같아요. /etc/make.conf.
David Schwartz

1

시험 arch x86_64를 인쇄하면 64 비트가됩니다. 일부 응용 프로그램은 32 비트이기 때문에 LONG_BIT는 32를 얻습니다. gcc가 32 비트로 컴파일 된 경우가 될 수 있습니다.

따라서 아치는 실제로 64 비트이고 64 비트 애플리케이션을 실행할 수 있지만 32 비트 gcc를 설치했습니다.


아치가 "x86_64"를 제공합니다. gcc가 32 비트인지 확인하는 방법은 무엇입니까? 필자는 PHP가 32 비트라는 것을 알아 냈습니다.
Marqin

file $(which gcc) 이것을 터미널에서 실행하십시오. 다음과 같이 인쇄하면 : /usr/bin/gcc: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped 당신은 64bit gcc를 가지고 있습니다. 그렇지 않으면 아마도 ELF 뒤에 쓰여지는 것이 32 비트 일 것입니다.
Pierre Geier

"/ usr / bin / gcc : ELF 32 비트 LSB 실행 가능, Intel 80386"그래서 32 비트입니다.
Marqin

거기있어. 귀하의 Gentoobox에있는 뭔가가 정말로 잘못 구성되었습니다. 많은 응용 프로그램이 사용합니다. gcc x86_86-pc-linux-gnu-gcc를 가지고 있어도 컴파일 할 수 있습니다. 여러분의 Gentoo 시스템에 대한 몇 가지 정보가 유용 할 것입니다. 64 비트 커널을 실행 중이지만 32 비트 응용 프로그램을 설치했습니다. 그래서 누군가가 CHOST를 변경했거나 현재 설치된 32 비트 gcc로 커널이 시스템에 빌드되지 않았습니다. 또는 거기에 설치되었지만 교차 컴파일되었습니다. @DavidSchwartz 그렇습니다. 그러나 Gentoo에서는 정말 드문 일입니다.
Pierre Geier

64 비트 커널과 32 비트 사용자 공간이 잘못 구성된 것은 아닙니다.
David Schwartz

0

Gentoo에서 make.conf를 읽을 수 있으려면 루트 접근 권한이 필요하다는 것을 기억하지 못합니다.

grep CHOST /etc/make.conf

네가 얻으면

CHOST="x86_64-pc-linux-gnu"

그런 다음 시스템이 64 비트 패키지를 컴파일하고 설치하도록 설정됩니다. 그렇지 않으면 당신이 얻는다면

CHOST="i686-pc-linux-gnu"

그런 다음 시스템이 32 비트로 설정됩니다.

그 중 하나를 얻지 못하면 루트 권한이 필요할 수 있습니다. 주어진 당신의 uname 귀하의 시스템이 64 비트가 될 것으로 기대합니다.


나는 CHOST = "i686-pc-linux-gnu"를 얻었습니다. 왜 아치, uname -m 및 uname -r이 64 비트인지를 보여줍니다.
Marqin

1
64 비트 CPU, 64 비트 커널 및 32 비트 개발 환경과 대상 플랫폼이 있습니다. 누군가 32 비트 사용자 공간에 64 비트 커널을 설치했기 때문에 4GB 이상의 실제 메모리를 지원할 수 있습니다. 어쩌면 64 비트 실행 파일이 작동하도록 허용 할 수 있습니다.
David Schwartz

@Marqin David가 바로 거기에 있다고 생각합니다. 시스템은 32 비트로 설정되어 있지만 누군가 64 비트 커널을 설치했습니다. 아마도 모든 메모리가 OS에서 사용 가능할 것이지만, 64 비트 호환성 문제도 없을 것입니다. (어쨌든 꽤 희귀합니다).
Mokubai
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.