SQLSTATE[HY000]: General error: 1021 Disk full

Locked
racmo
Posts: 26
Joined: Fri 22. Apr 2016, 17:16

SQLSTATE[HY000]: General error: 1021 Disk full

Post by racmo »

Hallo,

ich muss jetzt mal hier nachfragen, ich habe seit einigen Wochen das Problem das fast jeden Tag (manchmal auch ein paar Tage nicht) in der Zeit zwischen 7:30 - 7:50 mein TMP komplett voll läuft und SQL die Meldung " Error query: SQLSTATE[HY000]: General error: 1021 Disk full (/tmp/#sql_448_0.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")" wirft.

Nach ein paar Minuten ist das TMP dann wieder frei. Zu dieser Zeit läuft auch kein Job von mir.
TMP als RAM-Drive mit 5 GB.

Aktuelle Ausgabe von df -h

Code: Select all

root@keyhelp ~ # df -h
Filesystem      Size  Used Avail Use% Mounted on
udev             32G     0   32G   0% /dev
tmpfs           6.3G  916K  6.3G   1% /run
/dev/md2        437G   14G  401G   4% /
tmpfs            32G     0   32G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            32G     0   32G   0% /sys/fs/cgroup
tmpfs           5.0G  4.0K  5.0G   1% /tmp
tmpfs           5.0G     0  5.0G   0% /var/tmp
/dev/md1        488M  115M  348M  25% /boot
tmpfs           6.3G     0  6.3G   0% /run/user/0
Leider finde ich aktuell nicht genau raus, was mir das TMP voll schreibt.

Das einzige was mir aktuell aufgefallen ist, dass Keyhelp laut Master Log sehr oft ein "connect db" durchführt.

Code: Select all

====
[PID-10989] [22-Jan-2020 07:37:01] INFO  --> connect db ... success
[PID-10989] [22-Jan-2020 07:37:01] INFO  --> it is time for: update.php
[PID-10989] [22-Jan-2020 07:37:01] INFO  --> >>> trying to run "update"
[PID-10989] [22-Jan-2020 07:37:01] INFO  --> lock "update" acquired
[PID-10989] [22-Jan-2020 07:37:01] INFO  --> processing the job ...
[PID-10989] [22-Jan-2020 07:37:01] INFO  --> <<< job done, releasing lock "update"
====
[PID-11023] [22-Jan-2020 07:38:01] INFO  --> connect db ... success
====
[PID-11107] [22-Jan-2020 07:39:01] INFO  --> connect db ... success
====
[PID-11140] [22-Jan-2020 07:40:01] INFO  --> connect db ... success
====
[PID-11263] [22-Jan-2020 07:41:01] INFO  --> connect db ... success
====
[PID-11292] [22-Jan-2020 07:42:01] INFO  --> connect db ... success
[PID-11292] [22-Jan-2020 07:42:01] INFO  --> it is time for: update.php
[PID-11292] [22-Jan-2020 07:42:01] INFO  --> >>> trying to run "update"
[PID-11292] [22-Jan-2020 07:42:01] INFO  --> lock "update" acquired
[PID-11292] [22-Jan-2020 07:42:01] INFO  --> processing the job ...
[PID-11292] [22-Jan-2020 07:42:01] INFO  --> <<< job done, releasing lock "update"
====
[PID-11318] [22-Jan-2020 07:43:01] INFO  --> connect db ... success
====
[PID-11334] [22-Jan-2020 07:44:01] INFO  --> connect db ... success
====
[PID-11372] [22-Jan-2020 07:45:01] INFO  --> connect db ... success
====
[PID-11499] [22-Jan-2020 07:46:01] INFO  --> connect db ... success
====
[PID-11513] [22-Jan-2020 07:47:01] INFO  --> connect db ... success
[PID-11513] [22-Jan-2020 07:47:01] INFO  --> it is time for: update.php, diskspace.php
[PID-11513] [22-Jan-2020 07:47:01] INFO  --> >>> trying to run "update"
[PID-11513] [22-Jan-2020 07:47:01] INFO  --> lock "update" acquired
[PID-11513] [22-Jan-2020 07:47:02] INFO  --> processing the job ...
[PID-11513] [22-Jan-2020 07:47:02] INFO  --> <<< job done, releasing lock "update"
[PID-11513] [22-Jan-2020 07:47:02] INFO  --> >>> trying to run "diskspace"
[PID-11513] [22-Jan-2020 07:47:02] INFO  --> lock "diskspace" acquired
[PID-11513] [22-Jan-2020 07:47:02] INFO  --> processing the job ...
[PID-11513] [22-Jan-2020 07:47:02] INFO  --> <<< job done, releasing lock "diskspace"
====
[PID-11566] [22-Jan-2020 07:48:01] INFO  --> connect db ... success
====
[PID-11582] [22-Jan-2020 07:49:01] INFO  --> connect db ... success
====
[PID-11610] [22-Jan-2020 07:50:01] INFO  --> connect db ... success
====
[PID-11756] [22-Jan-2020 07:51:01] INFO  --> connect db ... success
[PID-11756] [22-Jan-2020 07:51:01] INFO  --> it is time for: update.php
[PID-11756] [22-Jan-2020 07:51:01] INFO  --> >>> trying to run "update"
[PID-11756] [22-Jan-2020 07:51:01] INFO  --> lock "update" acquired
[PID-11756] [22-Jan-2020 07:51:01] INFO  --> processing the job ...
[PID-11756] [22-Jan-2020 07:51:01] INFO  --> <<< job done, releasing lock "update"
Zu anderen Zeiten sieht das Log ehr so aus:

Code: Select all

====
[PID-19968] [22-Jan-2020 16:46:01] INFO  --> connect db ... success
[PID-19968] [22-Jan-2020 16:46:01] INFO  --> it is time for: update.php
[PID-19968] [22-Jan-2020 16:46:01] INFO  --> >>> trying to run "update"
[PID-19968] [22-Jan-2020 16:46:01] INFO  --> lock "update" acquired
[PID-19968] [22-Jan-2020 16:46:01] INFO  --> processing the job ...
[PID-19968] [22-Jan-2020 16:46:01] INFO  --> <<< job done, releasing lock "update"
====
[PID-20012] [22-Jan-2020 16:47:01] INFO  --> connect db ... success
[PID-20012] [22-Jan-2020 16:47:01] INFO  --> it is time for: update.php, diskspace.php
[PID-20012] [22-Jan-2020 16:47:01] INFO  --> >>> trying to run "update"
[PID-20012] [22-Jan-2020 16:47:01] INFO  --> lock "update" acquired
[PID-20012] [22-Jan-2020 16:47:01] INFO  --> processing the job ...
[PID-20012] [22-Jan-2020 16:47:01] INFO  --> <<< job done, releasing lock "update"
[PID-20012] [22-Jan-2020 16:47:01] INFO  --> >>> trying to run "diskspace"
[PID-20012] [22-Jan-2020 16:47:01] INFO  --> lock "diskspace" acquired
[PID-20012] [22-Jan-2020 16:47:01] INFO  --> processing the job ...
[PID-20012] [22-Jan-2020 16:47:01] INFO  --> <<< job done, releasing lock "diskspace"
====
Jemand zufällig eine Idee?

Grüße
racmo
User avatar
Martin
Posts: 984
Joined: Wed 20. Jan 2016, 00:43

Re: SQLSTATE[HY000]: General error: 1021 Disk full

Post by Martin »

Hallo,

das connect db ist normal, KeyHelp muss ja entsprechend prüfen ob in seiner Datenbank Jobs vorliegen. Dies erzeugt aber keine temporären Tabellen.

Hier sollte einmal geprüft werden welcher Prozess dies verursacht. Ein Kunde hatte vor Wochen ebenfalls ein solches Problem, als die RAM Disk testweise deaktiviert wurde (sodass mySQL nicht mit disk-full abgebrochen hat) war dann ersichtlich das ein mySQL Query seines Shops Amok lief. Hier wurden dann in einigen Stunden hunderte GB temporäre Tabellen erzeugt. Sichtbar war dies dann mit "show processlist;" in der mySQL Shell.
Viele Grüße,
Martin
racmo
Posts: 26
Joined: Fri 22. Apr 2016, 17:16

Re: SQLSTATE[HY000]: General error: 1021 Disk full

Post by racmo »

Da werde ich die RAM Disk testweise deaktivieren und mich die Tage mal auf die Lauer legen und mit "show processlist;" in der mySQL Shell vesuchen den Übeltäter zu finden.
User avatar
Jolinar
Community Moderator
Posts: 3560
Joined: Sat 30. Jan 2016, 07:11
Location: Weimar (Thüringen)
Contact:

Re: SQLSTATE[HY000]: General error: 1021 Disk full

Post by Jolinar »

racmo wrote: Wed 22. Jan 2020, 16:59 in der Zeit zwischen 7:30 - 7:50 mein TMP komplett voll läuft
Der Zeitraum wurde von dir ja nun schon sehr gut eingegrenzt...
Hast du schonmal die Cronjobs gecheckt, ob einer in der fraglichen Zeit läuft?
Machen irgendwelche Webpräsenzen, CMS, Foren o.ä. eigenständige Backup- oder Updatejobs oder irgendwelche Datensynchronisationen, die in diesen Zeitraum fallen?
Wenn jemand inkompetent ist, dann kann er nicht wissen, daß er inkompetent ist. (David Dunning)

Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
  • In dieser Farbe schreibe ich als Moderator und gebe moderative Hinweise oder begründe moderative Eingriffe /
    In this color, I write as a moderator and provide moderative guidance or justify moderative interventions
  • In dieser Farbe schreibe ich als Community Mitglied und teile meine private Meinung und persönlichen Ansichten mit /
    In this color, I write as a community member and share my personal opinions and views
Locked