[groonga-dev,01390] Re: mroongaのメモリ解放方法について

Back to archive index

磯部 和広 k-iso****@rozet*****
2013年 5月 14日 (火) 17:59:59 JST


お世話になっております。

あれからしばらくして、MySQLがクラッシュして自動的に再起動していました。
その結果、メモリがガツンと空きました。

プログラム側でリトライの仕組みを入れてあるので
処理は継続中です。

現在は、こんな感じです。

procs -----------memory---------- ---swap-- -----io---- --system--
-----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
5 0 15 287 13 24434 0 0 5007 45 37 72 1 2 93 3 0
4 1 15 294 13 24421 0 0 17330 2 15592 54818 23 42 35 0 0
4 0 15 370 13 24422 0 0 51 0 16974 63148 14 41 45 0 0
6 0 15 373 13 24409 0 0 23290 1 15543 55010 23 42 35 1 0
5 0 15 332 13 24448 0 0 7822 11 16767 61566 15 42 43 0 0

・・・なんだかbiがめっきり減少していますが・・・

再起動時の/var/log/mysqlは下記でした。
何かの参考になれば幸いです。

・・・MySQLを再起動してもメモリが空かなかったのに、クラッシュすると空く
という事は
mroongaは(groongaは)メモリを解放したつもりになっているのに
別のレイヤーで誰かがまだ握っているんですかね??

key_buffer_size=2147483648
read_buffer_size=20971520
max_used_connections=2
max_threads=50
thread_count=1
connection_count=1
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads =
4145722 K bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x28f34c0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 7f94077d4d98 thread_stack 0x40000
/usr/libexec/mysqld(my_print_stacktrace+0x2e)[0x77f05e]
/usr/libexec/mysqld(handle_fatal_signal+0x493)[0x66c883]
/lib64/libpthread.so.0(+0xf500)[0x7f94b1583500]
/usr/lib64/libgroonga.so.0(grn_table_setoperation+0x48)[0x7f94ad61be38]
/usr/lib64/mysql/plugin/ha_mroonga.so(_ZN10ha_mroonga19generic_ft_init_extEjjP6String+0xc0)[0x7f941dde8e60]
/usr/lib64/mysql/plugin/ha_mroonga.so(_ZN10ha_mroonga19storage_ft_init_extEjjP6String+0x9)[0x7f941dde9009]
/usr/libexec/mysqld(_ZN15Item_func_match11init_searchEb+0x17e)[0x6b08ae]
/usr/libexec/mysqld(_Z12init_ftfuncsP3THDP13st_select_lexb+0x57)[0x545ef7]
/usr/libexec/mysqld(_ZN4JOIN8optimizeEv+0x2a18)[0x5b2bf8]
/usr/libexec/mysqld(_Z12mysql_selectP3THDPPP4ItemP10TABLE_LISTjR4ListIS1_ES2_jP8st_orderSB_S2_SB_yP13select_re
sultP18st_select_lex_unitP13st_select_lex+0x105)[0x5b8f35]
/usr/libexec/mysqld(_Z13handle_selectP3THDP3LEXP13select_resultm+0x174)[0x5b9a14]
/usr/libexec/mysqld[0x57b16d]
/usr/libexec/mysqld(_Z21mysql_execute_commandP3THD+0x10d5)[0x57f585]
/usr/libexec/mysqld(_Z11mysql_parseP3THDPcjP12Parser_state+0x19d)[0x582b5d]
/usr/libexec/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcj+0x12fd)[0x58460d]
/usr/libexec/mysqld(_Z24do_handle_one_connectionP3THD+0xd2)[0x612372]
/usr/libexec/mysqld(handle_one_connection+0x50)[0x612480]
/lib64/libpthread.so.0(+0x7851)[0x7f94b157b851]
/lib64/libc.so.6(clone+0x6d)[0x7f94afad890d]

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (7f934ef32b40): is an invalid pointer
Connection ID (thread ID): 8654
Status: NOT_KILLED




groonga-dev メーリングリストの案内
Back to archive index