Ho uno script php che viene eseguito per circa 2 ore. È un lavoro cron. Il cron job viene eseguito ogni 4 ore.memory_limit: come funziona?
Alla fine dello script, visualizzo alcuni valori di memoria.
The memory_get_usage() result is 881568 Bytes (0.840766906738M)
The memory_get_peak_usage() result is 1340304 Bytes (1.27821350098M)
The memory_get_usage(true) result is 1572864 Bytes (1.5M)
The memory_get_peak_usage(true) result is 1835008 Bytes (1.75M)
Il memory_limit in php.ini era 128 M e non ha funzionato. Lo alzo a 256M e ora funziona.
Ma, come la memoria di picco dello script è inferiore a 2M ....
Quindi, come funziona il parametro memory_limit?
È la memoria totale utilizzata dallo script? Se sì, come posso calcolarlo?
È il picco di memoria della sceneggiatura? se sì, sto calcolando giusto?
Sto usando php 5.3.16.
EDIT
Non ho alcun messaggio di errore. Quando il limite era 128M Lo script viene eseguito, ma non finisce mai.
cos'altro si sta eseguendo sullo stesso server? –
Se il tuo script si è bloccato con un errore di limite di memoria, come hai visto i messaggi di log? – galymzhan
@galymzhan Non si è arrestato in modo anomalo quando il limite è stato aumentato a 256 MB, si è arrestato in modo anomalo quando era impostato su 128 MB. Tuttavia ora è impostato su 256 MB Marm see che l'utilizzo di memoria di picco non è vicino al limite di 128 MB, la sua domanda è: perché ha bisogno di aumentare i limiti per farlo funzionare? – Lee