2012年7月17日火曜日

coreファイルはスパースファイル

別にmysqldに限った話でもなく。

バグを内包してcoreをガスガス吐く様な環境でも、
意外とDISK容量が保った記憶がある。



# ps auxww | grep [/]usr/sbin/mysqld
mysql     1876  0.1  7.1 3242980 279436 ?      Sl   15:15   0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/error.log --pid-file=/var/lib/mysql/mysql.pid --socket=/var/lib/mysql/mysql.sock --port=3306

VSZが3GBちょい、RSSが250MBちょい。


# df -k /var/lib/mysql
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/VolGroup-lv_root
                      48964432  15636688  30840448  34% /

core吐かせる前の容量。


# ll core*
-rw------- 1 mysql mysql 3153354752  7月 17 15:23 2012 core.1876

VSZと似たり寄ったりのcoreサイズ。


# ll -s core*
 276020 -rw------- 1 mysql mysql 3153354752  7月 17 15:23 2012 core.1876

# df -k /var/lib/mysql
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/VolGroup-lv_root
                      48964432  15913660  30563476  35% /

使用ブロックは270MB弱、RSSと似たり寄ったりのサイズしか使用しない。
これはゼロが連続している未割り当て領域(スパース領域)を
かっ飛ばして書き込んでいるから。らしい。


# cp -ip --sparse=never core.1876 core

# ll -s core*
3079452 -rw------- 1 mysql mysql 3153354752  7月 17 15:23 2012 core
 276020 -rw------- 1 mysql mysql 3153354752  7月 17 15:23 2012 core.1876

スパースさせずにきっちりコピーする(--sparse=never)と、ちゃんと3GBくらい容量を食う。


# df -k /var/lib/mysql
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/VolGroup-lv_root
                      48964432  18992164  27484972  41% /

うむ。


# ps auxww | grep [/]usr/sbin/mysqld
mysql     2053  2.2 26.3 3841768 1032488 ?     Sl   15:23   0:14 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/error.log --pid-file=/var/lib/mysql/mysql.pid --socket=/var/lib/mysql/mysql.sock --port=3306

中でごにょごにょやって1GBくらいRSSを食わせる。


# ll -s core*
3079452 -rw------- 1 mysql mysql 3153354752  7月 17 15:23 2012 core
 276020 -rw------- 1 mysql mysql 3153354752  7月 17 15:23 2012 core.1876
1027692 -rw------- 1 mysql mysql 3753398272  7月 17 15:35 2012 core.2053

だよね。

0 件のコメント :

コメントを投稿