バグを内包して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 件のコメント :
コメントを投稿