Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
System wheezy 64bit kernel 3.2.0-2-amd64
Ustawiłem w pliku /etc/fstab tepmfs na 2 gigabajty W pamięci ram jest katalog do którego prowadzi ścieżka /dev/shm
Czy da się przeprowadzić kompilacje kernela w katalogu /dev/shm zamiast /usr/src ?
Czy jest sens takiej operacji i czy kompilacja przebiega szybciej ?
Obecnie znalazłem zastosowanie dla cache opery :)
Ostatnio edytowany przez yomal79 (2012-05-09 10:25:23)
Offline
yomal79 napisał(-a):
Czy jest sens takiej operacji i czy kompilacja przebiega szybciej ?
Tak i tak. Nie wiem tylko czy tyle miejsca na kompilację jądra na pewno wystarczy. Oczywiście powinieneś zbudować pakiety i dla jądra, i dla nagłówków, bo po wyłączeniu komputera wszelkie pliki z kompilacji będą stracone.
Offline
Ja tak to robię
CONCURRENCY_LEVEL=3 make-kpkg linux-image linux-headers --initrd
W ten sposób powstają mi paczki *.deb w katalogu /usr/src gotowe do instalacji
W komputerze mam 4GB pamięci ram więc jak zrobię ramdysk na 3GB to chyba powinien dać radę
Dzięki za szybką odpowiedź :)
Pozdrawiam
Ostatnio edytowany przez yomal79 (2012-05-09 10:45:25)
Offline
Zapomniałem zapytać Czy muszę zrobić symlinka do katalogu /dev/shm Czy po prostu wystarczy skopiować tam źródła i jechać z koksem :)
Offline
Sądzę że możesz je tam skopiować. Programowi nie powinno robić różnicy, w jakim katalogu jest kompilowany.
Przyjęło się, że kod źródłowy kompilowanych lokalnie programów jest trzymany w /usr/src/, ale to raczej kwestia pewnej umowy, konwencji, niż ograniczeń natury technicznej.
Offline
yomal79 napisał(-a):
W komputerze mam 4GB pamięci ram więc jak zrobię ramdysk na 3GB to chyba powinien dać radę
To oznacza, że "tylko" 1 GB zostanie na operację kompilacji. Pamiętaj o tym, że ona sama w sobie lubi mieć więcej niż mniej RAM-u.
Offline
Czyli po prostu trzeba samemu popróbować i wybrać niezbędne minimum potrzebne do kompilacji dla /dev/shm a resztę zostawić w spokoju dla systemu.
Temat trochę powiązany http://forum.dug.net.pl/viewtopic.php?id=20434
Można zamknąć No chyba że temat na dłuższą rozmowę to zostawiam do dyspozycji administracji działu "kernel" Pozdrawiam
Ostatnio edytowany przez yomal79 (2012-05-09 12:13:37)
Offline
IMHO szkoda zachodu. Czas kompilacji to i tak kwestia wydajności procesora. No chyba, że to z myślą o oszczędzaniu dysku itp.
Offline
ArnVaker napisał(-a):
IMHO szkoda zachodu. Czas kompilacji to i tak kwestia wydajności procesora. No chyba, że to z myślą o oszczędzaniu dysku itp.
Kompilacja to też duuuużo operacji I/O. Dysk też potrafi być wąskim gardłem.
Grmlowcy kiedyś porównywali czas budowania i kompresowania ISO na dysku i w /dev/shm (też raczej zadanie dla procka niż dysku, prawda?) — wynik był zadziwiający. Żebym tylko mógł to znaleźć... ;)
No i przypomnę opis apt-gentoo:
apt-gentoo optionally, and by default, gives increased realism by
spinning the CPU in a tight loop between build log lines, and writing
large files to disk.
Ostatnio edytowany przez azhag (2012-05-09 13:49:06)
Offline
Ale jakie to różnice? Normalnie kernel kompiluje się u mnie około 4 minuty (Athlon 64 X2 5000+), ile byłoby po przeniesieniu do RAM-u? 10 sekund mniej? Kopiowanie źródeł z powrotem na dysk pewnie gdzieś tyle by trwało. :) Owszem, różnice na pewno są… Jak miałem Gentoo to cały system kompilowałem w tmpfs (poza kernelem i OO/LO, tego drugiego w ogóle nie kompilowałem), ale tam wystarczyło wrzucić montowanie /var/tmp/portage w tmpfs do fstaba i zapomnieć. No i tam zysk na pewno był bardziej odczuwalny, ponieważ kompilacja całego systemu trwała około 12 godzin, a nie 4 minuty.
Offline
Może autor wątku podzieli się informacją o rezultatach, aby zaspokoić naszą ciekawość ?? :)
Offline
Właśnie, przy czym w czasie kompilacji kernela nic innego ma nie chodzić w tle i test trzeba przeprowadzić co najmniej kilka razy. ;)
Offline
Kilka to znaczy ile ??? :)
config może być własny czy musi być dystrybucyjny ? :D
Ostatnio edytowany przez yomal79 (2012-05-09 16:06:08)
Offline
Test proponowałbym robić na tym samym configu.
Offline
Jakiś skonfigurowany pod dany sprzęt wystarczy, taki co się kilka minut kompiluje. Na dystrybucyjnym na pewno różnice byłyby większe, ale jaki sens kompilować sobie kernel na konfigu dystrybucyjnym… Zresztą na dystrybucyjnym takie testowanie to by chyba cały dzień zajęło. :D
Offline
ja przy takich operacjach + inne typu kompresja/rozpakowywanie , obróbka video itd...
htop + iotop
tak sprawdzam "wąskie gardło"
Offline
Do sprawdzania obciążenia dysku i operacji IO to albo iotop albo iostat
Offline