Logblock: [Recherche] Erreur lors de l'écriture du fichier '/tmp', (Errcode : 28 - Pas d'espace disponible sur l'appareil)

Créé le 25 mars 2014  ·  3Commentaires  ·  Source: LogBlock/LogBlock

Logblock dev 223.

[16:26:13] [Craft Scheduler Thread - 201/ERROR]: [Lookup] SELECT date, replaced, type, data, playername, x, y, z, signtext FROM `lb-world` INNER JOIN `lb-players` USING (playerid) LEFT JOIN `lb-world-sign` USING (id) WHERE type != replaced ORDER BY date DESC, id DESC : 
java.sql.SQLException: Error writing file '/tmp/MYhXevGe' (Errcode: 28 - No space left on device)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) ~[spigot.jar:git-Spigot-1351]
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) ~[spigot.jar:git-Spigot-1351]
    at com.mysql.jdbc.MysqlIO.nextRowFast(MysqlIO.java:1566) ~[spigot.jar:git-Spigot-1351]
    at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1422) ~[spigot.jar:git-Spigot-1351]
    at com.mysql.jdbc.MysqlIO.readSingleRowSet(MysqlIO.java:2902) ~[spigot.jar:git-Spigot-1351]
    at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:476) ~[spigot.jar:git-Spigot-1351]
    at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:2608) ~[spigot.jar:git-Spigot-1351]
    at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:1784) ~[spigot.jar:git-Spigot-1351]
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2198) ~[spigot.jar:git-Spigot-1351]
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620) ~[spigot.jar:git-Spigot-1351]
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2570) ~[spigot.jar:git-Spigot-1351]
    at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1474) ~[spigot.jar:git-Spigot-1351]
    at de.diddiz.LogBlock.CommandsHandler$CommandLookup.run(CommandsHandler.java:418) [LogBlock.jar:?]
    at org.bukkit.craftbukkit.v1_7_R2.scheduler.CraftTask.run(CraftTask.java:58) [spigot.jar:git-Spigot-1351]
    at org.bukkit.craftbukkit.v1_7_R2.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) [spigot.jar:git-Spigot-1351]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_20-ea]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_20-ea]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_20-ea]

En vérifiant l'espace disque avec 'df -h', j'ai 176 Go disponibles sur mon lecteur principal, 16 Go disponibles pour 'tmpfs', 1,8 Go sur 2 Go disponibles pour '/temp' et 1,9 Go sur 2 Go disponibles pour '/var/ temp', sur mon nœud dédié. Comment se fait-il qu'il n'y ait plus d'espace sur l'appareil ? Ma base de données logblock pour mysql fait 2,4 Go.

Commentaire le plus utile

L'erreur exacte est qu'il ne peut pas écrire dans /tmp car il n'y a pas d'espace là où /tmp est monté. Dans certaines distributions Linux, /tmp est monté en tant que tmpfs (disque virtuel), donc même si votre disque a beaucoup d'espace, vous pouvez obtenir une erreur "pas d'espace" si vous essayez d'y écrire trop.

D'après la trace de la pile, il semble que cela se soit produit lors d'une recherche (ou d'une recherche et d'une restauration) - si la recherche renvoyait beaucoup de données, ou peut-être même simplement en passant au crible beaucoup de données, des fichiers temporaires volumineux pourraient être créés .

Les solutions possibles sont de faire en sorte que MySQL utilise un répertoire temporaire différent ou de ne pas utiliser tmpfs pour /tmp

Tous les 3 commentaires

tmpfs est entièrement stocké dans la RAM. Si vous manquez de RAM système, tmpfs manquera d'espace.

Mais l'erreur n'est pas liée à tmpfs ?

L'erreur exacte est qu'il ne peut pas écrire dans /tmp car il n'y a pas d'espace là où /tmp est monté. Dans certaines distributions Linux, /tmp est monté en tant que tmpfs (disque virtuel), donc même si votre disque a beaucoup d'espace, vous pouvez obtenir une erreur "pas d'espace" si vous essayez d'y écrire trop.

D'après la trace de la pile, il semble que cela se soit produit lors d'une recherche (ou d'une recherche et d'une restauration) - si la recherche renvoyait beaucoup de données, ou peut-être même simplement en passant au crible beaucoup de données, des fichiers temporaires volumineux pourraient être créés .

Les solutions possibles sont de faire en sorte que MySQL utilise un répertoire temporaire différent ou de ne pas utiliser tmpfs pour /tmp

Cette page vous a été utile?
0 / 5 - 0 notes