LINUX.ORG.RU
ФорумAdmin

Нечистая сила и журналирование.

 ,


0

1

Добрый день, возможно некоторые из приведенных ниже деталей окажутся лишними, но я не хочу ничего упустить.

Дано: Сам сервер является порождение KVM виртуализации. Сервер minecraft крутящийся на разделе с raiserfs. Базы данных MySQL на ramdisk.

Linux oktavian.minecraft-gs.com 2.6.32-220.13.1.el6.x86_64 #1 SMP Tue Apr 17 23:56:34 BST 2012 x86_64 x86_64 x86_64 GNU/Linux

Проблема в том, что при взаимодействии плагинов на сервере с базой данных по iotop примерно такая картина:

TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
468  be/3 root        0.00 B/s    0.00 B/s  0.00 % 99.29 % [jbd2/dm-0-8]
1771 be/4 mysql       0.00 B/s  102.13 K/s  0.00 %  6.19 % mysqld --basedir=/usr --datadir=/var/lib/mysql/ --user=mysql --log-error=/v~og --pid-file=/var

Что приводит к остановке операций во всем игровом мире. В top все выглядит примерно так:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
   13 root      20   0     0    0    0 S  6.3  0.0   0:29.55 ksoftirqd/2
 1689 minestar  20   0 9852m 774m  11m S  4.7  6.5   4:56.89 java
    9 root      20   0     0    0    0 S  2.3  0.0   0:33.19 ksoftirqd/1
    4 root      20   0     0    0    0 S  0.3  0.0   0:07.63 ksoftirqd/0
   17 root      20   0     0    0    0 S  0.3  0.0   0:16.76 ksoftirqd/3
  468 root      20   0     0    0    0 D  0.3  0.0   0:02.74 jbd2/dm-0-8

И мне совершенно непонятно каким образом процесс [jbd2/dm-0-8] забивает 99% IO. Гугл утверждает, что это процесс журналирования. Но ничего не менялось и при помещении самого сервера на ramdisk.

Я пробовал менять файловую систему на которой лежат файлы сервера на все начиная от xfs, заканчивая tmpfs. Ковырял ключи джава машины. Выключал журналирование оставшихся разделов на ext4. Но никакого эффекта не ощутил.

Привожу информацию которая может оказаться полезной.

tmpfs /var/lib/ramsql tmpfs size=500m 0 0
/dev/mapper/vg_oktavian-Oktavian_lvm /opt/              reiserfs defaults       0 0
/dev/mapper/vg_oktavian-lv_root /                       ext4    defaults        1 1
UUID=e378765f-073e-4407-b83b-f968570a8aa6 /boot         ext4    defaults        1 2
/dev/mapper/vg_oktavian-lv_home /home                   ext4    defaults        1 2
/dev/mapper/vg_oktavian-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                        tmpfs   defaults        0 0
devpts                  /dev/pts                        devpts  gid=5,mode=620  0 0
sysfs                   /sys                            sysfs   defaults        0 0
proc                    /proc                           proc    defaults        0 0

#StartServerScrip
java -server -XX:+HeapDumpOnOutOfMemoryError  -Xmx7G -XX:UseSSE=4 -XX:+UseParallelGC  -XX:ParallelGCThreads=8 -XX:+OptimizeStringConcat -XX:+UseStringCache -XX:+UseLargePages -XX:+UseFastAccessorMethods -XX:+AggressiveOpts -XX:+UseCompressedOops -jar /opt/minecraft_server/craftbukkit-1.2.5-R1.0.jar
#/etc/my.cnf
datadir=/var/lib/mysql/
#datadir=/var/lib/ramsql/
socket=/var/lib/mysql/mysql.sock
user=mysql
log = /var/log/mysql.log
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=1

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.6) (rhel-1.43.1.10.6.el6_2-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)
Ответ на: комментарий от ValdikSS

my.cnf есть в основном посте. Вторая вставка снизу. Сейчас по совету знакомого думаю поставить другое ядро и посмотреть на результат.

Xrizolin
() автор топика
Ответ на: комментарий от ValdikSS

Oh Wow!

Спасибо за Ваш коментарий! Присмотрелся к my.cnf

datadir=/var/lib/mysql/
#datadir=/var/lib/ramsql/

#datadir=/var/lib/ramsql/

Убрал коммент, рестартанул. Вот теперь все работает без проблем. Кажется корень зла в моем конфиге mysql. Нужно еще много про него узнать.

Xrizolin
() автор топика
Ответ на: Oh Wow! от Xrizolin

Если используете innodb, крайне советую покрутить его настройки, хотя бы один innodb_flush_log_at_trx_commit

ValdikSS ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.