Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] memory_get_usage a limit?
xsonic
post
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 11.03.2010

Ostrzeżenie: (0%)
-----


Witam

memory_get_usage pokazuje:

Na początku skryptu: 415076
Na końcu skryptu: 784368
Na końcu po usunięciu dużych zmiennych: 663112

Htop pokazuje zajęte 4Mb a ja ustawiłem ini_set('memory_limit', '1500K');
Więc jak to jest możliwe? Jak zmniejszyć zasobożerność skryptu?

Go to the top of the page
+Quote Post
abort
post
Post #2





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

Ostrzeżenie: (0%)
-----


Komentarze pod manualem:
http://pl.php.net/manual/pl/function.memory-get-usage.php

powinny pomóc - nie wiem jaki masz OS, i nigdzie nie umiałem znaleźć, którą wartość memory (VMSize, VMData, VMStk, VMLib...) memory_get_usage zwraca. Jeśli to Linux, to możesz odczytać sobie PID (Process ID) Twojego skryptu za pomocą http://pl2.php.net/manual/pl/function.posix-getpid.php - z potem (jeśli to Linux), to obejrzeć sobie plik /proc/<PID>/status i stamtąd wyciągnąć sobie niezbędne informacje.
Go to the top of the page
+Quote Post
erix
post
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Htop pokazuje zajęte 4Mb a ja ustawiłem ini_set('memory_limit', '1500K');

A uwzględniłeś fakt, że sam proces interpretera potrzebuje pewnej przestrzeni na to, aby mógł w ogóle działać.

To tak jakbyś miał coś lutować - masz biurko o powierzchni 2m^2 i to jest Twój memory_limit. Ale nie uwzględnisz w nim tego, że musisz gdzieś postawić krzesło, na którym posadzisz swoje cztery litery. [;

Cytat
Więc jak to jest możliwe? Jak zmniejszyć zasobożerność skryptu?

Zależy. Poszukaj na forum, było kilka takich tematów.

Tak opiniując, 1.5 MiB zużytej pamięci na skrypt, to jest nic. I jest bardzo mało prawdopodobne, że zejdziesz niżej.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
xsonic
post
Post #4





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 11.03.2010

Ostrzeżenie: (0%)
-----


więc jeśli powiązał bym skrypty w 1 prawdopodobnie zeszło by to niżej?

erix zaj...te porównanie smile.gif Tak myślałem że on też tam siedzi smile.gif Wiesz może 4 mb to mało ... ale jak się ma starego celerona i 200mb do użytku to zaczynają się schody smile.gif
A jeszcze jedno ... Da się ustawić limit dla całego procesu?

Ten post edytował xsonic 24.11.2011, 10:46:47
Go to the top of the page
+Quote Post
erix
post
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
więc jeśli powiązał bym skrypty w 1 prawdopodobnie zeszło by to niżej?

Nie. Cały musi być zinterpretowany i nieużywana część będzie i tak siedzieć w pamięci.

Cytat
Wiesz może 4 mb to mało ... ale jak się ma starego celerona i 200mb do użytku to zaczynają się schody

Jak szkoda Ci kasy na maszynę, to bierz książkę do asemblera i pisz.

Sory, ale poniżej tego limitu raczej nie zejdziesz.

Cytat
A jeszcze jedno ... Da się ustawić limit dla całego procesu?

Da się. Jakie pytanie, taka odpowiedź.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
xsonic
post
Post #6





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 11.03.2010

Ostrzeżenie: (0%)
-----


Dzięki za odpowiedz:) Więc w jaki sposób ustawić limit dla procesu...?
Go to the top of the page
+Quote Post
erix
post
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Zależy od systemu.

Dla FreeBSD bym Ci powiedział ad-hoc, dla Linusków musisz sobie poszukać.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 14:24