Linux와 x32-ABI - 어떻게 사용하나요?

Linux와 x32-ABI - 어떻게 사용하나요?

소개하다
방금 64비트 설치로 전환했는데 메모리 사용량에 큰 차이가 있습니다(특히 Chrome, Firefox, mysql 및 Java 앱과 같은 앱의 경우).

  • 예전에는 4GB면 충분했는데 이제는 빨리 닳아요!

이는 64비트 운영 체제의 잘 알려진 부작용이지만 64비트에는 다른 장점도 있습니다.

RAM이 매우 저렴하다는 사실 외에도 여전히 1/2GB RAM이 제공되는 일부 넷북이 있습니다. 그리고 여기에 x32 ABI이 ​​문제를 제한하기 위해 설계된 커널 기능이 있습니다.

x32 ABI란 무엇입니까?
~에 따르면이 PDF64비트 기본 운영 체제에 비해 엄청난 메모리 이점(심지어 40% 향상)을 제공합니다.

이제 내가 이해한다면x32-ABI 필요:

  • CONFIG_X86_X32=y로 컴파일된 Linux 커널 3.4
  • GCC 4.7
  • 바이너리 유틸리티 2.22
  • glibc 2.16
  • 애플리케이션에 필요한 모든 시스템 라이브러리를 다시 컴파일하려면 gcc -mx32를 사용하십시오.

Debian 및 기타 배포판이 실제로 32x-ABI를 지원하는 라이브러리를 제공한다는 것을 알고 있지만 이를 설정하는 데 필요한 문서를 찾을 수 없습니다(Ubuntu 14.04 64비트를 사용하고 있습니다).

나는 이 질문이 정말 흥미로운 기능이라고 생각하기 때문에 나와 다른 사람들이 정보를 수집하는 데 도움을 주고 싶었습니다.

특히 내 목표는 x32-ABI를 사용하여 애플리케이션(예: chrome, firefox 또는 mysql)을 실행하는 것입니다.

답변1

더반
아직 시도하지는 않았지만 데비안에서 X32-ABI를 실행하기 위한 몇 가지 지침은 다음과 같습니다. https://wiki.debian.org/X32Port

아치
많은 X32 패키지(예: chromium, mysql)가 포함된 저장소가 있습니다. https://github.com/fantix/ArchLinux-x32

답변2

모험심이 있다면 자신만의 커널과 glibc 등을 다시 컴파일할 수 있습니다.https://sourceware.org/glibc/wiki/x32

또한 64비트 커널에서 32비트 바이너리를 실행하기 위한 배포판 지원을 찾는 것이 "훨씬 더 쉽습니다". 따라서 -m32x32비트( ) 대신 해당 버전( -mx32)에 대해 컴파일할 수 있지만 손실이 발생합니다. 이점이 있지만 설정이 더 쉽고 일부 RAM이 절약됩니다.

관련 정보