Nowe posty

xx postfix otrzymane emaile from z mojej domeny (2)
Dzisiaj o 07:59:13
xx Zmiana części pliku tekstowego (sed?) (5)
Wczoraj o 16:31:07
xx Problem z uruchomieniem Kali Linux! (6)
2019-11-16, 18:06:29
xx Prawy przycisk myszy - > Nowy plik (4)
2019-11-14, 21:35:55
xx Konto root i crontab backupu (2)
2019-11-13, 22:51:23
xx Najlepsze gry na Androida według Was (3)
2019-11-13, 14:04:31
xx jak w C++ robić operacje na pieniądzach (7)
2019-11-13, 14:00:35
xx [C++] Do czego potrzebny jest czas kompilacji (1)
2019-11-13, 13:57:53
xx chrome - urządzenie audio (4)
2019-11-10, 12:33:43
xx PORADNIK ! [Poszukiwanie bledow] (1)
2019-11-09, 17:54:50

Autor Wątek: Niewykorzystane zasoby pamięci z GARTSize: leżą odłogiem?  (Przeczytany 157 razy)

Offline arctgx

  • Users
  • Guru
  • *****
  • Wiadomości: 2753
    • Zobacz profil
Witam!

Zrobiłem ciekawy eksperyment z przydzielaniem pamięci RAM (i być może nie tylko) dla operacji 3D w biosie i iksach. Nie tyle wydajność programów 3D interesowała mnie w tej chwili, co wolne miejsce w pamięci dla pozostałych programów.

Czy z tego co poniżej pokazałem wynika, że jeśli nie używam w danej chwili programów 3D, to niewykorzystana pamięć po prostu się marnuje i nie jest dostępna dla reszty?

Za tym idzie decyzja czy używać jednych ustawień środowiska Xorg do pracy z programami 3D, a drugich, gdy nie korzystam z takich programów, ale używam innych pamięciożernych (choćby GIMP). 256 MB pamięci to na tyle mało, że warto się pogłowić i powalczyć o każdy kawałek na różne sposoby. Nawet kompilacja dużych programów zdaje się schodzić do swapu z braku RAMu i oczywiście zwalniać, gdy jednocześnie część RAMu leżeć może odłogiem, bo przeznaczyłem je dla 3D.


Eksperyment robiłem za każdym razem w IceWM na konsoli aterm, na karcie Radeon 9000 (posiadającą 64 MB pamięci DDR) i otwartym sterownikiem jądra dla niej.

Na początku wyglądało to tak:
option          "GARTSize"              "64"
BIOS: AGP Aperture Size: 64

Xorg.0.log:
(II) RADEON(0): Using 64 MB GART aperture
(II) RADEON(0): Using 1 MB for the ring buffer
(II) RADEON(0): Using 2 MB for vertex/indirect buffers
(II) RADEON(0): Using 61 MB for GART textures

  ~ $ free
             total       used       free     shared    buffers     cached
Mem:        256896     229604      27292          0      12628     114584
-/+ buffers/cache:     102392     154504
Swap:       488840         80     488760

  ~ $ cat /proc/mtrr
reg00: base=0x00000000 (   0MB), size= 256MB: write-back, count=1
reg01: base=0xd0000000 (3328MB), size= 128MB: write-combining, count=3
reg05: base=0xe0000000 (3584MB), size=  64MB: write-combining, count=2
Po wyłączeniu opcji "GARTSize" w xorg.conf:

Xorg.0.log:
(II) RADEON(0): Using 8 MB GART aperture
(II) RADEON(0): Using 1 MB for the ring buffer
(II) RADEON(0): Using 2 MB for vertex/indirect buffers
(II) RADEON(0): Using 5 MB for GART textures


  ~ $ free
             total       used       free     shared    buffers     cached
Mem:        256896     174516      82380          0      12332     114544
-/+ buffers/cache:      47640     209256
Swap:       488840         80     488760

  ~ $ cat /proc/mtrr
reg00: base=0x00000000 (   0MB), size= 256MB: write-back, count=1
reg01: base=0xd0000000 (3328MB), size= 128MB: write-combining, count=3
reg05: base=0xe0000000 (3584MB), size=  64MB: write-combining, count=2
Zrobiłem restart i zmniejszyłem przydział pamięci RAM dla AGP poniżej GARTSize. Efekt: brak akceleracji 3D.

option          "GARTSize"              "64"
BIOS: AGP Aperture Size: "32"

Xorg.0.log:
(II) RADEON(0): [agp] 65536 kB allocated with handle 0x00000001
(EE) RADEON(0): [agp] Could not bind
(EE) RADEON(0): [agp] AGP failed to initialize. Disabling the DRI.
(II) RADEON(0): [agp] You may want to make sure the agpgart kernel module
...

  testy-3d $ free
             total       used       free     shared    buffers     cached
Mem:        256896     107456     149440          0       5876      66592
-/+ buffers/cache:      34988     221908
Swap:       488840          0     488840

  ~ $ cat /proc/mtrr
reg00: base=0x00000000 (   0MB), size= 256MB: write-back, count=1
reg01: base=0xd0000000 (3328MB), size= 128MB: write-combining, count=2
reg05: base=0xe0000000 (3584MB), size=  32MB: write-combining, count=2
Naturalnie, następnym krokiem było zmniejszenie GARTSize do 32 i restart iksów. Akceleracja wróciła.

Xorg.0.log:
(II) RADEON(0): Using 32 MB GART aperture
(II) RADEON(0): Using 1 MB for the ring buffer
(II) RADEON(0): Using 2 MB for vertex/indirect buffers
(II) RADEON(0): Using 29 MB for GART textures

~ $ free
             total       used       free     shared    buffers     cached
Mem:        256896     145116     111780          0       6692      69472
-/+ buffers/cache:      68952     187944
Swap:       488840          0     488840

  ~ $ cat /proc/mtrr
reg00: base=0x00000000 (   0MB), size= 256MB: write-back, count=1
reg01: base=0xd0000000 (3328MB), size= 128MB: write-combining, count=3
reg05: base=0xe0000000 (3584MB), size=  32MB: write-combining, count=2
Ostatni wynik zachęcił mnie do jeszcze jednego eksperymentu: ustawienia w BIOSie "AGP Aperture Size" na maksimum równe 256 MB. Jest to z jednej strony cały mój RAM, z drugiej - granica możliwości mojej płyty głównej (MSI-6712, v. 1.0). Chcę zobaczyć czy te 256 MB może sobie potencjalnie czekać i czy rzeczywistą przydzieloną ilością mogę żonglować za pomocą ustawień iksów.

  ~ $ free
             total       used       free     shared    buffers     cached
Mem:        256896     135980     120916          0       5544      64784
-/+ buffers/cache:      65652     191244
Swap:       488840          0     488840

  ~ $ cat /proc/mtrr
reg00: base=0x00000000 (   0MB), size= 256MB: write-back, count=1
reg01: base=0xd0000000 (3328MB), size= 128MB: write-combining, count=3
reg05: base=0xe0000000 (3584MB), size= 256MB: write-combining, count=2

Xorg.0.log:
(II) RADEON(0): Using 32 MB GART aperture
(II) RADEON(0): Using 1 MB for the ring buffer
(II) RADEON(0): Using 2 MB for vertex/indirect buffers
(II) RADEON(0): Using 29 MB for GART textures
ed: zrobiłem oprawę w tag CODE
Użytkownik: Ib5sXfcCkvYR
Hasło: adam