sql >> Database >  >> RDS >> Mysql

EC2 Amazon Linux AMI MySQL CPU @ 62% wanneer inactief?

Het enige wat ik kan bedenken is om te inspecteren wat mysqld echt doet met behulp van strace, als root gebruiker:

 strace -p 2959

Normaal gesproken zou strace onmiddellijk moeten blokkeren en u een oproep moeten tonen om te selecteren(), omdat mysqld zou moeten wachten op verbindingen.

De oproep zou zoiets moeten zijn als:

 select(SOCKETNO, [OTHER_FDs], NULL, NULL, NULL)

vooral belangrijk is de vierde parameter, een time-out timeval. Indien NULL, betekent dit dat mysqld zal slapen totdat iemand verbinding maakt. Als het niet NULL is, betekent dit dat mysqld de opgegeven tijd zal wachten en dan wat onderhoudswerk zal doen. Een zeer kleine tijdswaarde zou het CPU-verbruik kunnen verklaren.

Ik geloof dat MySQL altijd een NULL (oneindige) time-out gebruikt. Het is logisch en dit is hoe de mysqlds die ik nu kan bereiken zich gedragen.

Er kunnen echter problemen zijn met het afhandelen van de verbinding die voorkomen dat Select opnieuw slaapt. Controleer of dit gedrag verschijnt zodra mysqld start, of nadat iemand verbinding heeft gemaakt.



  1. FOUT! De server is gestopt zonder het PID-bestand bij te werken (/usr/local/mysql/data/Mac.local.pid)

  2. Hoe te bestellen op maandnaam in MySQL

  3. Zoek in mysql-tabel vanaf de laatste rij

  4. Hoe verschillende tuples te bestellen in een PostgreSQL-query