磯部 和広
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