kategoria: Programy
[#1] Statystyki z zajętości RAMu przez programy
Czy jest jakiś program na klasyczny AmigaOS, który mi pokaże ile zjadają RAMu poszczególne programy aktualnie działające? Coś w stylu htop czy top na Linuksie, niekoniecznie muszą tak samo wyglądać, ważne aby były podobne funkcjonalnie?
[#2] Re: Statystyki z zajętości RAMu przez programy

@QkiZ, post #1

Podejrzewam, że nie bo w liście pamięci nie ma adresu taska wywołującego. Poza tym amigowe procesy dość swobodnie wymieniają dane. Może nawet być tak, że jakis program zaalokuje pamiec, przekaze wskaznik do drugiego, zamknie się i drugi bedzie korzystać (i zwolni lub nie :)). Większość danych, które da się wyciągnąć z info o procesach, można zobaczyć w Scoutcie

Ostatnia aktualizacja: 16.10.2020 13:43:32 przez michal_zukowski
[#3] Re: Statystyki z zajętości RAMu przez programy

@QkiZ, post #1

zobacz SpySystem

albo to PS136

Ostatnia aktualizacja: 16.10.2020 13:51:11 przez HOŁDYS
[#4] Re: Statystyki z zajętości RAMu przez programy

@michal_zukowski, post #2

Tak, ja też polecam do szukania takich rzeczy Scouta.
Na pewno jeśli masz pamięć pod różnymi adresami to Scout może ci pokazać wykorzystanie każdej z nich, możesz pobawić się priorytetami itp ok, racja
[#5] Re: Statystyki z zajętości RAMu przez programy

@BULI, post #4

W Morphosie jest lekki tracking rzeczy libnixowych, są autozwracane po poprawnym wyjściu z aplikacji (pliki, pamięć). W AmigaOS raczej nic wiecej niz Scout się nie ogarnie, a trackingu nie ma.

Ostatnia aktualizacja: 16.10.2020 13:56:29 przez michal_zukowski
[#6] Re: Statystyki z zajętości RAMu przez programy

@michal_zukowski, post #2

Scout jest spoko, ale nie mogę tam posortować programów na przykład od zajmującego najwięcej w dół.
Czyli na Amidze to technicznie nie jest możliwe?
[#7] Re: Statystyki z zajętości RAMu przez programy

@HOŁDYS, post #3

SpySystem i PS fajne programy, ale nie o to mi chodziło.
Scout może pokazać rozmiar stacka i coś takiego jak FreeStack. Rozumiem że to wolne miejsce w stacku? Choć nie wiem czy to tak działa, bo dla przykładu wziąłem RexxMastera. Stack miał ustawiony na 8kB, a FreeStack wg Scout nie całe 8kB. Czyli wyglądało na to że sam RexxMaster zajął kilkadziesiąt kilobajtów. Jakoś mało.
Pytanko: czy rozmiar stacka można traktować jako ilość zajętej pamięci przez program?
[#8] Re: Statystyki z zajętości RAMu przez programy

@QkiZ, post #7

Pytanko: czy rozmiar stacka można traktować jako ilość zajętej pamięci przez program?
Nie. Stos to pamięć przydzielona programowi przez system na powroty z procedur i zmienne lokalne. W to nie wchodzi ani pamięć zajmowana przez kod programu, ani pamięć zaalokowana samodzielnie przez program.
1
[#9] Re: Statystyki z zajętości RAMu przez programy

@Krashan, post #8

z perspektywy systemu jest to pamiec, wykorzystywana tylko przez ten program, wiec mozna ja zaliczyc do pamieci, zajetej przez ten program.
[#10] Re: Statystyki z zajętości RAMu przez programy

@QkiZ, post #6

Scout posiada MUI-owe GUI, więc na pewno pozwala sortować, zwłaszcza że pracuje na listach. Ale tak jak napisał Rzookol - nie ma w nim opcji wyświetlenia, że program x zajmuje y bajtów pamięci.
[#11] Re: Statystyki z zajętości RAMu przez programy

@docent, post #9

z perspektywy systemu jest to pamiec, wykorzystywana tylko przez ten program, wiec mozna ja zaliczyc do pamieci, zajetej przez ten program.
Jak najbardziej. Ale to zazwyczaj niewielki procent pamięci rzeczywiście zajętej przez program.
[#12] Re: Statystyki z zajętości RAMu przez programy

@docent, post #9

z perspektywy systemu jest to pamiec, wykorzystywana tylko przez ten program, wiec mozna ja zaliczyc do pamieci, zajetej przez ten program

No tak, ale jak Krashan napisał to tylko część pamięci.
Scout posiada MUI-owe GUI, więc na pewno pozwala sortować, zwłaszcza że pracuje na listach. Ale tak jak napisał Rzookol - nie ma w nim opcji wyświetlenia, że program x zajmuje y bajtów pamięci.

Wszystko sie zgadza, ale nie na kolumny zawierającą taka informację.
Jestem na etapie szukania jakiegoś programiku, który byłby w stanie choć pośrednio taką informację wyłuskać z systemu.
[#13] Re: Statystyki z zajętości RAMu przez programy

@QkiZ, post #12

Z systemu nie wyłuskasz takiej informacji, bo AmigaOS nie ma śledzenia alokacji pamięci. Do tego byłby potrzebny program, który wpina się w systemowy alokator i loguje wszystkie alokacje.
[#14] Re: Statystyki z zajętości RAMu przez programy

@Krashan, post #13

Może więc warto znaleźć lub napisać program który zapisuje stany pamięci wolnej i porównuje różnice w jej wielkości po uruchomieniu/zamknięciu programu.
[#15] Re: Statystyki z zajętości RAMu przez programy

@Krashan, post #13

Można w tym celu użyć programu Wedge (jest na płycie Amiga Developer CD 2.1).

Przykład skryptu dla funkcji AllocMem()
run wedge exec 0xff3a 0x8003 0x8000 opt r   "c=AllocMem(byteSize,requirements)(d0/d1)"
[#16] Re: Statystyki z zajętości RAMu przez programy

@forge, post #15

Ja znam 2 metody:

1. Można po prostu wywołać funkcję AvailMem(), następnie program i znów funkcję AvailMem().

2. Jest taki program o nazwie Snoopy który pozwala wyłapywać wywołania funkcji bibliotecznych z konkretnych tasków (podobnie jak Wedge, ale ma więcej możliwości).

Możesz go uruchomić by wyłapywał wywołania funkcje alokacji pamięci AllocMem(), AllocVec() itp. oraz zwalniania FreeMem(), FreeVec() z biblioteki exec.

Program umożliwia wyświetlanie nazw tasków oraz parametrów podawanych tym funkcjom, czyli ilości bajtów pamięci oraz rodzaju pamięci.

Uruchamiasz Snoopy, potem programy, zamykasz programy i Snoopy i potem przeglądasz (lub skanujesz) log.

@Rzookol

Amiga ma kilka mechanizmów, które oszczędzają zasoby komputera.

1. Współdzielone biblioteki oraz klasy BOOPSI,

2. Współdzielone ekrany (tzw. publiczne). Pamięć graficzna jest używana dokładnie raz i wiele programów może otwierać swoje okienka na ekranie publicznym,

3. Porty komunikacyjne, które nie kopiują wiadomości.

Ostatnia aktualizacja: 19.10.2020 10:38:34 przez Hexmage960
[#17] Re: Statystyki z zajętości RAMu przez programy

@Krashan, post #11

To zalezy od programu :) Standardowa wielkosc stosu to 4000, co dla malych utili moze stanowic calkiem spory procent. Dla wiekszych aplikacji to faktycznie moze nie miec wielkiego znaczenia.
[#18] Re: Statystyki z zajętości RAMu przez programy

@Hexmage960, post #16

Ale przeciez to wiem. Mówię, że AmigaOS nie ma śledzenia, a MorphOS ma bidaśledzenie czyli jak dasz malloc() a nie dasz free() to ci po wyjsciu z programu zwolni pamięć.
[#19] Re: Statystyki z zajętości RAMu przez programy

@michal_zukowski, post #18

Na upartego na AmigaOS tez mozna zrobic automatyczne zwalnianie zaalokowanej pamieci - np. poprzez korzystanie z AllocEntry podpietego do tc_MemEntry w strukturze tasku.
Te alokacje sa automatycznie zwalnianie przy zamknieciu tasku.
[#20] Re: Statystyki z zajętości RAMu przez programy

@docent, post #19

Wszystko mozna zrobic z tym, ze niestety nie zawsze jestes pewien ze jeden taska zaalokowal do drugiego i ten drugi ma zwolnic a nie ten pierwszy.
[#21] Re: Statystyki z zajętości RAMu przez programy

@michal_zukowski, post #20

Może nie jest to dokładnie to czego chciałem, ale dzięki temu programowi wiem ile ramu zjada RoadShow. 557kB.
[#22] Re: Statystyki z zajętości RAMu przez programy

@QkiZ, post #21

Interesujące- sprawdzę. dzięki za cynk OK
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem