美文网首页
报错:rwsem_down_failed_common

报错:rwsem_down_failed_common

作者: yangqing | 来源:发表于2021-05-26 14:19 被阅读0次

    报错信息如下:

    Dec  8 20:12:43 dzyx-DataNode1 kernel:      Tainted: G           ---------------  T 2.6.32-431.20.3.el6.x86_64 #1
    Dec  8 20:12:43 dzyx-DataNode1 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
    Dec  8 20:12:43 dzyx-DataNode1 kernel: java          D 0000000000000017     0  4929   3801 0x00000000
    Dec  8 20:12:43 dzyx-DataNode1 kernel: ffff881059633cf0 0000000000000082 0000000000000000 0000000159633ca8
    Dec  8 20:12:43 dzyx-DataNode1 kernel: ffffffff81ed63d8 0000010000000005 ffff881059633f38 ffffffff6ed16000
    Dec  8 20:12:43 dzyx-DataNode1 kernel: ffff881059fdc638 ffff881059633fd8 000000000000fbc8 ffff881059fdc638
    Dec  8 20:12:43 dzyx-DataNode1 kernel: Call Trace:
    Dec  8 20:12:43 dzyx-DataNode1 kernel: [<ffffffff8152aea5>] rwsem_down_failed_common+0x95/0x1d0
    Dec  8 20:12:43 dzyx-DataNode1 kernel: [<ffffffff8152b036>] rwsem_down_read_failed+0x26/0x30
    Dec  8 20:12:43 dzyx-DataNode1 kernel: [<ffffffff8128f1e4>] call_rwsem_down_read_failed+0x14/0x30
    Dec  8 20:12:43 dzyx-DataNode1 kernel: [<ffffffff8152a534>] ? down_read+0x24/0x30
    Dec  8 20:12:43 dzyx-DataNode1 kernel: [<ffffffff8104a92e>] __do_page_fault+0x18e/0x480
    Dec  8 20:12:43 dzyx-DataNode1 kernel: [<ffffffff810097cc>] ? __switch_to+0x1ac/0x320
    Dec  8 20:12:43 dzyx-DataNode1 kernel: [<ffffffff8100bb8e>] ? apic_timer_interrupt+0xe/0x20
    Dec  8 20:12:43 dzyx-DataNode1 kernel: [<ffffffff8152e37e>] do_page_fault+0x3e/0xa0
    Dec  8 20:12:43 dzyx-DataNode1 kernel: [<ffffffff8152b735>] page_fault+0x25/0x30
    Dec  8 20:12:43 dzyx-DataNode1 kernel: INFO: task java:23818 blocked for more than 120 seconds.
    

    日志分析和解决办法:

    系统默认可用内存作为文件系统缓存,当超过这个阈值后,文件系统会把将缓存中的内存全部写入磁盘,导致后续的IO请求都是同步的。

    对内核参数调优,解决办法如下:

    vim /etc/sysctl.conf 
    vm.dirty_background_ratio = 5
    vm.dirty_ratio = 10
    

    这个vm.dirty_background_ratio值达到后触发flush进程进行异步的回写操作,此时应用进程仍可写,如果多个应用进程写入的量大于flush进程刷出的量那自然会达到vm.dirty_ratio的值,此时OS系统会转入同步地处理脏页的过程,阻塞应用进程。

    相关文章

      网友评论

          本文标题:报错:rwsem_down_failed_common

          本文链接:https://www.haomeiwen.com/subject/caeksltx.html