Tengo algunos scripts que usan una tonelada de CPU ¿es posible limitar la cantidad de CPU que un proceso puede usar? Estoy corriendo en CentOs 5.5 por cierto.¿Puedo acelerar el uso máximo de CPU de un script php?
Respuesta
¿Tal vez podría usar nice?
PHP se considera un lenguaje de scripting y no tiene un acceso tan bajo al hardware.
En su lugar, lo que puede hacer es utilizar las funciones como "set_time_limit()"
http://php.net/manual/en/function.set-time-limit.php
y memory_limit en su php.ini
http://php.net/manual/en/ini.core.php
Esos son los métodos recomendados, pero lo más cercano que obtendrá a lo que desea es probablemente una combinación de "sueño()"
http://php.net/manual/en/function.sleep.php
y obtener la carga actual de la CPU con "exec ('uptime');". Tenga en cuenta que puede o no tener acceso a esos comandos del sistema.
Ayudé a un codificador PHP compañero a crear scripts PHP que abordan un problema similar. Estos son scripts PHP de larga ejecución que generan mucha carga. Ya que están corriendo por mucho tiempo, el objetivo era "detenerlos" si la carga es demasiado alta. El script tiene una función similar a:
function get_server_load()
{
$fh = fopen('/proc/loadavg', 'r')
$data = fread($fh, 6);
fclose($fh);
$load_avg = explode(" ", $data);
return floatval(trim($load_avg[0]));
}
El script llama get_server_load()
durante cada bucle, y si la carga es mayor que un determinado max, duerme durante 30 segundos y cheques de nuevo:
set_time_limit(120);
while(get_server_load() > $max_load)
sleep($load_sleep_time);
Esto permite que el script le devuelva tiempo de CPU al servidor durante períodos de alta carga.
Este es un enfoque agradable, pero tenga en cuenta que está volviendo int, no flotante, por lo que no puede obtener un promedio de carga de 0.9, por ejemplo. –
¡Un gran punto! Fijo – Josh
- 1. cómo controlar el uso de CPU de un script PHP
- 2. Haciendo uso de C++ para acelerar PHP
- 3. Configuración del uso máximo de CPU por proceso en Windows
- 4. ¿Cómo puedo establecer el tiempo máximo de ejecución para un script PHP?
- 5. ¿Obtener uso de CPU en script de shell?
- 6. ¿Cómo puedo limitar el uso de CPU FFMpeg?
- 7. ¿Podemos acelerar las tareas intensivas de CPU en Java?
- 8. git ¿puedo acelerar el compromiso?
- 9. Uso de ZeroMQ en un script PHP dentro de Apache
- 10. cómo calcular el rendimiento máximo teórico de CPU
- 11. ¿Cómo puedo acelerar los hilos de Python?
- 12. Sugerencias/trucos para limitar un script PHP
- 13. Cómo limitar el uso de la CPU de un proceso
- 14. Cómo reducir el uso de CPU de un programa?
- 15. Uso de la CPU de Jquery
- 16. ¿while loop siempre toma el uso completo de la CPU?
- 17. Debian: Descubre el uso de la CPU usando bash
- 18. Cómo acelerar PHP Depen
- 19. PHP, sendmail y transportes: cómo acelerar el envío de correos
- 20. MySQL alto uso de CPU
- 21. Android - uso de memoria/CPU
- 22. Cálculo del uso de CPU
- 23. Uso del script HTML5 Boilerplate Build con un framework PHP
- 24. Glassfish: alto uso de CPU
- 25. Aplicación C# - Reducir el uso de la CPU
- 26. Captura de CPU y uso de memoria de forma dinámica
- 27. Python/PySerial y uso de CPU
- 28. ¿Cómo puedo llamar un script de Perl desde PHP?
- 29. C++ CPU Registrar uso
- 30. ¿Cómo puedo determinar el valor máximo de un pid_t?
¿Quiere decir en el código php mismo? Es posible que pueda limitar el motor de scripts php a través del sistema operativo, pero eso no estaría relacionado con la programación – YWE