Problème ressource CPU

Problème ressource CPU

par gui parm,
Nombre de réponses : 13

Bonjour,

j'ai installé moodle v1.9.9 sur une machine virtuelle Debian, et j'ai déjà eu 2 plantages dut a l'utilisation du CPU à 100%.

Je pense que sa vient du cron de moodle mais je ne suis pas sur. Quelqu'un aurait une idée de l'utilisation abusive du processeur de mon serveur?

Sachant que le CPU peut eutre utilisé à 100% pendant des heures et des heures jusqu'au plantage du serveur... Seul un reboot relance le serveur.

Merci

Moyenne des évaluations  -
En réponse à gui parm

Re: Problème ressource CPU

par Étienne Rozé,

Bonjour,

Je n'arrive pas à comprendre si c'est la machine virtuelle qui plante ou le serveur qui l'héberge ( le système de celui-ci n'est pas précisé). Quelle est la configuration matérielle ( en particulier la RAM) ?

L'hypothèse du cron me semble pas trop crédible si l'installation du Moodle est vide ( peu d'utilisateurs et peu de cours ) mais je n'en ai pas de remplacement.

 

En réponse à Étienne Rozé

Re: Problème ressource CPU

par gui parm,

Bonjour, c'est bien la machine virtuelle qui plante et pas le serveur physique qui contient toutes les VM.

Mon serveur Moodle est donc une machine virtuelle sous Debian 5 avec 2 processeur, 1Go de RAM. Et dans le gestionnaire des VM (vsphere client), on remarque que le CPU est à 100% avant de planter.

Dans les logs de mon serveur, juste avant le plantage j'ai sa :

Dec  4 06:30:01 visioV2 /USR/SBIN/CRON[19081]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 06:35:01 visioV2 /USR/SBIN/CRON[19105]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 06:39:01 visioV2 /USR/SBIN/CRON[19125]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm)
Dec  4 06:40:01 visioV2 /USR/SBIN/CRON[19140]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 06:45:01 visioV2 /USR/SBIN/CRON[19168]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 06:50:01 visioV2 /USR/SBIN/CRON[19192]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 06:55:01 visioV2 /USR/SBIN/CRON[19216]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 07:00:01 visioV2 /USR/SBIN/CRON[19240]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 07:05:01 visioV2 /USR/SBIN/CRON[19264]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 07:09:01 visioV2 /USR/SBIN/CRON[19284]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm)
Dec  4 07:10:01 visioV2 /USR/SBIN/CRON[19299]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 07:15:01 visioV2 /USR/SBIN/CRON[19324]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 07:17:01 visioV2 /USR/SBIN/CRON[19336]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Dec  4 07:20:01 visioV2 /USR/SBIN/CRON[19352]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 07:25:01 visioV2 /USR/SBIN/CRON[19376]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 07:30:01 visioV2 /USR/SBIN/CRON[19400]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 07:35:01 visioV2 /USR/SBIN/CRON[19424]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 07:39:01 visioV2 /USR/SBIN/CRON[19444]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm)
Dec  4 07:40:01 visioV2 /USR/SBIN/CRON[19459]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 07:45:01 visioV2 /USR/SBIN/CRON[19483]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 07:50:01 visioV2 /USR/SBIN/CRON[19507]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 07:55:01 visioV2 /USR/SBIN/CRON[19531]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 08:00:01 visioV2 /USR/SBIN/CRON[19555]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 08:05:01 visioV2 /USR/SBIN/CRON[19579]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 08:09:01 visioV2 /USR/SBIN/CRON[19599]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm)
Dec  4 08:10:01 visioV2 /USR/SBIN/CRON[19614]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 08:15:01 visioV2 /USR/SBIN/CRON[19638]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 08:17:01 visioV2 /USR/SBIN/CRON[19650]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Dec  4 08:20:01 visioV2 /USR/SBIN/CRON[19666]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 08:25:01 visioV2 /USR/SBIN/CRON[19690]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 08:30:01 visioV2 /USR/SBIN/CRON[19714]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 08:35:01 visioV2 /USR/SBIN/CRON[19738]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 08:39:01 visioV2 /USR/SBIN/CRON[19758]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm)
Dec  4 08:40:01 visioV2 /USR/SBIN/CRON[19773]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 08:45:01 visioV2 /USR/SBIN/CRON[19797]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 08:50:01 visioV2 /USR/SBIN/CRON[19821]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 08:55:01 visioV2 /USR/SBIN/CRON[19846]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 09:00:01 visioV2 /USR/SBIN/CRON[19870]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 09:05:01 visioV2 /USR/SBIN/CRON[19895]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)
Dec  4 09:09:01 visioV2 /USR/SBIN/CRON[19917]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm)
Dec  4 09:10:01 visioV2 /USR/SBIN/CRON[19932]: (www-data) CMD ([ -f /usr/share/moodle/admin/cron.php ] && /usr/bin/php -f /usr/share/moodle/admin/cron.php > /dev/null)

 

Au niveau utilisateur j'en ai 219 et j'ai pas trop de cours...

 

En espérant que sa peut t'aider, merci.

Cordialement.

En réponse à gui parm

Re: Problème ressource CPU

par jean-paul KIRKBRIDE,

Bonjour,

j'ai le même problème et effectivement cela vient de la surcharge du cron.

Depuis ma console VMWARE (machine virtuelle également pour moi, sous CentOs), j'ai constaté que le CPU de cette machine montait en charge à 100% toutes les 10min (le cron s'exécutait toutes les 10mn). Au moment du traitement des statistiques, le CPU plantait. Lorsque je faisais un "top", je constatait que c'est mysql qui prennait toutes les ressources CPU. Faut-il changer de fersion de Mysql, je n'ai pas la réponse.

En ce qui me concerne, je fais tourner mon cron 3 ou 4 fois dans la journée et dans le paramètrage Moodle je fais attention de ne pas faire tourner en même temps les sauvegardes de cours et les stats (traitement la nuit - attention aux heures du cron pour les activer).

Résultats : le fonctionnement de moodle est satisfaisant mais pour les stats plus rien ne fonctionne malgré plusieurs essais.

il te faut aussi tenir compte des conseils suivants :  http://docs.moodle.org/fr/Performance

Performance PHP, Mysql,Apache,......

Si tu as du mieux, n'hésites pas à nous en faire profiter !

En réponse à jean-paul KIRKBRIDE

Re: Problème ressource CPU

par Étienne Rozé,

Pas mieux... désolé...triste

En réponse à Étienne Rozé

Re: Problème ressource CPU

par gui parm,

Ok, je vous remercie.

Je vous tiens au courant si j'avance sur le sujet.

 

Cordialement.

En réponse à gui parm

Re: Problème ressource CPU

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour,

il serait sans doute utile que tu nous en dises un peu plus.

Sur MySQL, si tu utilise le stockage MYISAM, peut être devrais tu essayer de passer à InnoDB

Sinon, si tu utilises les statistiques, essaie de les désactiver, pour voir ce que donne le fonctionnement.

As tu suivis les indications de la documentation sur les performances de Moodle ?

Ce sont juste quelques suggestions qui j'espère pourront t'aider.

En réponse à Séverin Terrier

Re: Problème ressource CPU

par gui parm,

Tu es sur que c'est mieux de passer à InnoDB, parce que dans la descriptionc'est écrit :"InnoDB est meilleur pour l'intégrité des données, moins bon pour la recherche dans de gros fichiers, et utilise plus de ressources CPU et d'espace de stockage (jusqu'à 2 ou 3 fois plus) que MyISAM"

En réponse à gui parm

Re: Problème ressource CPU

par gui parm,

Par contre dans la doc des performances, je voulais modifié les paramétres de ma base de donnée comme indiqué, mais il y a des lignes que je ne trouve pas dans my.cnf : query_cache_type ,  query_cache_min_res_unit

J'ai donc modifié seulement : query_cache_size et table_cache qui était commenté.

Et oui j'utilsie les statistique qui se lance à 22h00.

merci encore pour votre aide.

En réponse à gui parm

Re: Problème ressource CPU

par jean-paul KIRKBRIDE,

Pour les lignes que tu ne trouves pas, il faut les ajouter !

>>> sauvergarde tes bdd avant toutes choses <<<

Pour info, mon my.cnf : n'oublies pas de relancer Mysql après modif.

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

#### CE QUE J AI AJOUTE
query_cache_type = 1
query_cache_size = 36M
query_cache_min_res_unit = 2K
#table_cache = 512
table_cache = 1500
skip-innodb
# >> je suis en MyISAM (INODB est plus stable (moins de crash)
#2x - 3x table_cache
open-files-limit = 4500
low_priority_updates=1
#32
key_buffer_size = 32M
############ FIN AJOUT #########


# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

 

en ce qui me concerne, j'en reste là au niveau de mes tests. Je vais me monter une machine avec moodle 2...


En réponse à gui parm

Re: Problème ressource CPU

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour,

je ne suis sur de rien (sur ce coup là), et je t'indiquais des suggestions clin d’œil

J'ai créé une nouvelle discussion concernant le stockage InnoDB, qui sera peut-être plus adaptée pour ce point précis...

La page de documentation indiquée précédemment est à enrichir langue tirée

En réponse à Séverin Terrier

Re: Problème ressource CPU

par gui parm,

Ok.

Pour l'instant j'ai juste fais quelques modifications du fichiers my.cnf, le serveur n'a pas replanté en 5 jours...

Merci encore pour votre aide.

En réponse à gui parm

Re: Problème ressource CPU

par Claude Divoux,

Bonjour,

J'ai exactement le même problème : voir le sujet Moodle 2.0 sature mon CPU.

Par contre je n'ai aucune compétence ni les droit root pour toucher au fichier my.cnf. Peut-on intervenir dans phpmyadmin ?

Est-il possible que moodle exécute des scripts automatiquement alors que je n'ai configuré aucun fichier cron ? Car mon CPU sature alors que je ne travaille pas dans Moodle.

Je suis chez Gandi, avec un CPU 1 coeur et 1Go de ram. Mes tables sont en InnoDB.

Je peux éventuellement demander aux techniciens de Gandi d'intervenir. Mais il faut que je leurs dise quoi faire.

??

Cordialement

Claude Divoux