# RAM i portage

## mistix

Witam wszystkich, od jakiegoś czasu mam problem z portage. Mianowicie czasem jak kompiluje program portage szaleje i zabiera cały ram + partycja wymiany. Wydaje mi się to dziwną rzeczą gdyż 700 MB ramu to nawet X nie potrzebują do kompilacji. Aktualnie sypie się to podczas próby kompilacji pakietu crypto++-5.5.2.

A teraz troszkę info o systemie 

```
Portage 2.1.4.4 (default-linux/amd64/2007.0, gcc-4.2.3, glibc-2.7-r1, 2.6.25-rc6 x86_64)

=================================================================

System uname: 2.6.25-rc6 x86_64 Intel(R) Core(TM)2 Duo CPU T7100 @ 1.80GHz

Timestamp of tree: Sat, 22 Mar 2008 13:30:03 +0000

app-shells/bash:     3.2_p33

dev-java/java-config: 1.3.7, 2.1.5

dev-lang/python:     2.4.4-r5, 2.5.1-r5

dev-python/pycrypto: 2.0.1-r6

sys-apps/baselayout: 1.12.11.1

sys-apps/sandbox:    1.2.18.1-r2

sys-devel/autoconf:  2.13, 2.61-r1

sys-devel/automake:  1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1

sys-devel/binutils:  2.18-r1

sys-devel/gcc-config: 1.4.0-r4

sys-devel/libtool:   1.5.26

virtual/os-headers:  2.6.24

ACCEPT_KEYWORDS="amd64 ~amd64"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=nocona -O2 -pipe"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc"

CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/udev/rules.d"

CXXFLAGS="-march=nocona -O2 -pipe"

DISTDIR="/usr/share/distfiles"

FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"

GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"

LANG="pl_PL.UTF-8"

LC_ALL="pl_PL.UTF-8"

LINGUAS="pl"

MAKEOPTS="-j3"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="X a52 aac aalib acl acpi aiglx aim alsa amd64 berkdb bzip2 cdinstall cdr cli cracklib crypt cups dri dvd dvdr dvdread ffmpeg firefox fortran ftp gadu gdbm gif gpm gtk gtk2 iconv imagemagic imlib isdnlog jabber jack java javascript jpeg jpeg2k midi mmx motif mozilla mp3 mpeg mplayer mudflap ncurses nls nptl nptlonly ogg opengl openmp oss pam pcre pda pdf perl png posix pppd python qt3 qt4 quicktime readline reflection samba sdl session sharedmem sockets sox spell spl sse sse2 ssl svg tcpd truetype unicode usb vcd vorbis wifi xcb xml xorg xv xvid zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pl" USERLAND="GNU" VIDEO_CARDS="vesa intel i810"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
```

Sprzęt od strony technicznej jest w jak najlepszym porządku bo w miarę nowy sprzęt ma dopiero 5 miesięcy.

----------

## caruso

ACCEPT_KEYWORDS="amd64 ~amd64" 

System uname: 2.6.25-rc6 x86_64 Intel(R) Core(TM)2 Duo CPU T7100 @ 1.80GHz 

IMHO coś tutaj mi nie pasuje, ale nie mam doczynienia x86_64 więc nie wiem.

----------

## lordvader20

 *caruso wrote:*   

> ACCEPT_KEYWORDS="amd64 ~amd64" 
> 
> System uname: 2.6.25-rc6 x86_64 Intel(R) Core(TM)2 Duo CPU T7100 @ 1.80GHz 
> 
> IMHO coś tutaj mi nie pasuje, ale nie mam doczynienia x86_64 więc nie wiem.

 

A co w tym złego  :Smile:  Nowe intele mają tę protezę w postaci EM64T, więc są zgodne z x86_64 potocznie zwanym AMD64.

----------

## caruso

Nie wiem czy złego, ale zwróciło moją uwagę. Tak w ogóle to ile masz ramu? Czy używasz jakiejś aplikacji podczas kompilacji? Może kernel za nowy? Jakakolwiek zmiana ustawień?

----------

## SlashBeast

sprawdz z -j1, powinno jeść mniej ramu.

----------

## mistix

No więc tak mam 1 GB ramu, aplikacje lecą w tle ale nigdy nie zajmują więcej jak 300 MB (pidgin, mpd +sonata, ff no i jako WM Fvwm) co do samego kernela to działo się to zarówno z vanilla jak i gentoo-sources. Jak wyłączę X i włączę sobie top w konsoli to widać, że cała pamięć jest zajęta. A i zapomniałem nie dzieje się to notorycznie i to mnie dziwi niektóre pakiety się ładnie kompilują bez problemów z ramem, a inne np. boost potrzebują niemal cały ram.

----------

## SlashBeast

boost ma to do siebie, że strasznie dużo ramu je.

----------

## mistix

Dziś miałem czas i okazję sprawdzić co się stanie z -j1 i tak jak mówiłeś ram był używany w bardzo rozsądnych ilościach myślę, że śmiało by też działało z -j2. To teraz moje pytanie dlaczego tak się dzieje ?

----------

## sebas86

 *mistix wrote:*   

> dlaczego tak się dzieje ?

 

Kompilacja programów zwłaszcza języków obiektowych trwa dłużej i wymaga sporo pamięci. Więc dla dwóch wątków kompilacji będzie 2x więcej zasobów zużytych.

----------

## mistix

No tak, ale muszę powiedzieć, że przedtem nigdy się tak nie działo jak stawiałem system na laptopie i desktopie. Nigdy nie miałem takiej sytuacji, że podczas kompilacji zajęło mi cały dostępny ram + swap.

----------

## SlashBeast

Może używaj w takim razie Os zamiast O2.

----------

## sebas86

Swego czasu 256 RAM-u też mi starczyło do kompilacji i jednoczesnej pracy...  :Wink: 

----------

## kfiaciarka

ja swego czasu też miałem tak pod ~amd64, kompilacja przy -j3 cmake, amarok (wcale nie największych pakietów) zjadała cały ram a miałem 1gb. Na ~x86 nie mam tego problemu.

----------

## TBH the lolmaker

Binarki 64 bitowe mają większe zużycie pamięci.

----------

