Linux-Kernel

Web 伺服器“任務被阻止超過 120 秒”

  • December 10, 2014

我的網路伺服器每 2 天就關閉一次。它變得無響應,我只能在控制台上看到下面的消息。

任務****阻塞超過120秒。

啟動它的唯一方法是重置伺服器,這不好,我想修復它。

我的伺服器在 VMWare 環境中執行。

問題:

  • 14.89 LOAD AVERAGE 是我的問題嗎?
  • 如果不是,我下一步要解決什麼問題?

這是我的崩潰日誌:

KERNEL: /usr/lib/debug/lib/modules/2.6.32-431.3.1.el6.x86_64/vmlinux
   DUMPFILE: /var/crash/127.0.0.1-2014-08-26-01:25:16/vmcore  [PARTIAL DUMP]
       CPUS: 4
       DATE: Tue Aug 26 01:25:11 2014
     UPTIME: 00:14:00
LOAD AVERAGE: 14.89, 5.57, 2.09
      TASKS: 207
   NODENAME: test01
    RELEASE: 2.6.32-431.3.1.el6.x86_64
    VERSION: #1 SMP Fri Jan 3 21:39:27 UTC 2014
    MACHINE: x86_64  (2933 Mhz)
     MEMORY: 2 GB
      PANIC: "Kernel panic - not syncing: hung_task: blocked tasks"
        PID: 58
    COMMAND: "khungtaskd"
       TASK: ffff88007a4e9500  [THREAD_INFO: ffff88007a4ea000]
        CPU: 2
      STATE: TASK_RUNNING (PANIC)

INFO: task vmtoolsd:1186 blocked for more than 120 seconds.
     Not tainted 2.6.32-431.3.1.el6.x86_64 #1
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
vmtoolsd      D 0000000000000003     0  1186      1 0x00000000
ffff88007bc39b98 0000000000000086 0000000000000000 ffff880037de6f28
ffff88003793c800 ffff88007bc39c38 ffff88007bc39b38 ffffffffa00026d0
ffff88007b847af8 ffff88007bc39fd8 000000000000fbc8 ffff88007b847af8
Call Trace:
[<ffffffffa00026d0>] ? dm_unplug_all+0x50/0x70 [dm_mod]
[<ffffffff8111f940>] ? sync_page+0x0/0x50
[<ffffffff815280b3>] io_schedule+0x73/0xc0
[<ffffffff8111f97d>] sync_page+0x3d/0x50
[<ffffffff81528b7f>] __wait_on_bit+0x5f/0x90
[<ffffffff8111fbb3>] wait_on_page_bit+0x73/0x80
[<ffffffff8109b330>] ? wake_bit_function+0x0/0x50
[<ffffffff81135c05>] ? pagevec_lookup_tag+0x25/0x40
[<ffffffff8111ffdb>] wait_on_page_writeback_range+0xfb/0x190
[<ffffffff8112009f>] filemap_fdatawait+0x2f/0x40
[<ffffffff811206c4>] filemap_write_and_wait+0x44/0x60
[<ffffffff811c5864>] __sync_blockdev+0x24/0x50
[<ffffffff811c58a3>] sync_blockdev+0x13/0x20
[<ffffffff811f0034>] sync_quota_sb+0x74/0x130
[<ffffffff811bad1a>] __sync_filesystem+0x7a/0x90
[<ffffffff811baf2b>] sync_filesystem+0x4b/0x70
[<ffffffff811c61ee>] freeze_bdev+0xfe/0x280
[<ffffffff8119de6b>] do_vfs_ioctl+0x1fb/0x580
[<ffffffff8119e271>] sys_ioctl+0x81/0xa0
[<ffffffff8100b072>] system_call_fastpath+0x16/0x1b
Kernel panic - not syncing: hung_task: blocked tasks
Pid: 58, comm: khungtaskd Not tainted 2.6.32-431.3.1.el6.x86_64 #1
Call Trace:
[<ffffffff81527213>] ? panic+0xa7/0x16f
[<ffffffff810e6346>] ? watchdog+0x246/0x250
[<ffffffff810e6100>] ? watchdog+0x0/0x250
[<ffffffff8109af06>] ? kthread+0x96/0xa0
[<ffffffff8100c20a>] ? child_rip+0xa/0x20
[<ffffffff8109ae70>] ? kthread+0x0/0xa0
[<ffffffff8100c200>] ? child_rip+0x0/0x20

特區詳情

# sar -r
Linux 2.6.32-431.3.1.el6.x86_64 (test01)        08/26/2014      _x86_64_        (4 CPU)

12:00:01 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
12:10:01 AM    287032   1634920     85.07    111308    937968    597956      9.88
12:20:01 AM    252300   1669652     86.87    113592    946640    633132     10.46
12:30:01 AM    229752   1692200     88.05    115680    958476    703876     11.63
12:40:01 AM    147420   1774532     92.33    121260   1045248    601400      9.94
12:50:02 AM    155808   1766144     91.89    125484   1037572    595232      9.84
01:00:01 AM    120928   1801024     93.71    128380   1043552    664652     10.98
Average:       198873   1723079     89.65    119284    994909    632708     10.46

01:11:22 AM       LINUX RESTART

01:26:05 AM       LINUX RESTART

01:40:45 AM       LINUX RESTART

01:55:30 AM       LINUX RESTART

02:00:01 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
02:10:01 AM    993480    928472     48.31     56524    463256    599784      9.91
02:20:01 AM    965424    956528     49.77     68212    478076    591716      9.78
02:30:01 AM    874868   1047084     54.48     78216    508992    657420     10.87

# sar -q
Linux 2.6.32-431.3.1.el6.x86_64 (test01)        08/26/2014      _x86_64_        (4 CPU)

12:00:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
12:10:01 AM         2       183      0.08      0.71      0.86
12:20:01 AM         2       185      0.03      0.11      0.44
12:30:01 AM         5       207      1.98      1.28      0.77
12:40:01 AM         2       183      0.01      0.69      0.84
12:50:02 AM         1       181      0.00      0.10      0.43
01:00:01 AM         5       202      1.99      1.33      0.80
Average:            3       190      0.68      0.70      0.69

01:11:22 AM       LINUX RESTART

01:26:05 AM       LINUX RESTART

01:40:45 AM       LINUX RESTART

01:55:30 AM       LINUX RESTART

02:00:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
02:10:01 AM         2       184      0.05      0.13      0.11
02:20:01 AM         1       184      0.06      0.05      0.07
02:30:01 AM         8       204      2.07      1.33      0.61
02:40:01 AM         4       187      0.01      0.65      0.71

# sar -d
Linux 2.6.32-431.3.1.el6.x86_64 (test01)        08/26/2014      _x86_64_        (4 CPU)

12:00:01 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
12:10:01 AM    dev8-0      8.96     60.88    141.18     22.54      0.24     27.08      3.74      3.35
12:10:01 AM   dev8-16      0.10      0.03      2.01     20.47      0.00     36.49     24.80      0.25
12:10:01 AM  dev253-0     21.05     60.68    143.19      9.69      0.58     27.56      1.60      3.36
12:10:01 AM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
12:20:01 AM    dev8-0      4.60     23.08     73.54     21.00      0.07     14.29      2.45      1.13
12:20:01 AM   dev8-16      0.06      0.01      1.08     17.73      0.00     29.70     13.68      0.08
12:20:01 AM  dev253-0      9.77     23.09     74.63     10.00      0.13     13.02      1.16      1.13
12:20:01 AM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
12:30:01 AM    dev8-0      3.13     32.93     41.52     23.80      0.03     10.57      3.58      1.12
12:30:01 AM   dev8-16      0.02      1.57      0.09     90.18      0.00     12.45     13.73      0.03
12:30:01 AM  dev253-0      6.01     34.93     41.61     12.75      0.06      9.46      1.89      1.14
12:30:01 AM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
12:40:01 AM    dev8-0     27.83    841.82    198.60     37.39      0.35     12.65      2.40      6.69
12:40:01 AM   dev8-16      2.46    202.41      2.21     83.16      0.01      5.28      4.29      1.06
12:40:01 AM  dev253-0     49.09   1043.80    200.80     25.35      3.62     73.59      1.53      7.52
12:40:01 AM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
12:50:02 AM    dev8-0      6.25     17.44    130.97     23.74      0.07     11.60      2.57      1.61
12:50:02 AM   dev8-16      0.63     56.52      3.12     94.54      0.01      8.11      4.74      0.30
12:50:02 AM  dev253-0     18.11     73.85    134.09     11.48      0.21     11.74      0.95      1.72
12:50:02 AM  dev253-1      0.01      0.11      0.00      8.00      0.00     13.88      1.75      0.00
01:00:01 AM    dev8-0      5.30     12.40     86.55     18.67      0.06     11.20      2.48      1.32
01:00:01 AM   dev8-16      0.09      0.23      2.36     27.57      0.00     22.68     11.36      0.11
01:00:01 AM  dev253-0     11.26     12.63     88.91      9.02      0.11      9.89      1.18      1.33
01:00:01 AM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
Average:       dev8-0      9.31    163.72    111.88     29.59      0.14     14.72      2.71      2.53
Average:      dev8-16      0.56     43.25      1.81     80.72      0.00      7.72      5.41      0.30
Average:     dev253-0     19.16    206.91    113.70     16.73      0.78     40.65      1.40      2.69
Average:     dev253-1      0.00      0.02      0.00      8.00      0.00     13.88      1.75      0.00

01:11:22 AM       LINUX RESTART

01:26:05 AM       LINUX RESTART

01:40:45 AM       LINUX RESTART

01:55:30 AM       LINUX RESTART

02:00:01 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
02:10:01 AM    dev8-0      9.86    160.76     92.83     25.72      0.08      8.07      3.25      3.20
02:10:01 AM   dev8-16      1.03     43.08     21.27     62.61      0.01      8.14      4.74      0.49
02:10:01 AM  dev253-0     20.23    203.27    114.09     15.69      0.18      8.70      1.73      3.49
02:10:01 AM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:20:01 AM    dev8-0      4.76     74.76     51.09     26.42      0.03      6.83      3.51      1.67

我要做的第一件事是停止/禁用 vmtoolsd 守護程序,如果您有 vmware 訂閱,請向他們提出案例。這裡看起來 vmtoolsd 守護程序正在嘗試凍結文件系統。

這些是您可以提供給 vmware 團隊的進一步步驟

在崩潰提示執行

1:設置1186

2:BT

3:dis -rl 0xfe/0x280 即block_device傳遞給freeze_bdev()的地方

4:您還可以驗證此過程處於不間斷狀態多長時間

a:任務-R last_ran

b: runq |grep “從 set 命令獲得的 CPU 編號或此任務最後執行的 CPU 編號)

c: rq.timestamp_last_tick

pd (c 獲得的值 - a 獲得的值)/60 –> 這將告訴您 vmtoolsd 處於 D 狀態多長時間

同樣從作業系統方面,您可以進行一些更改,即降低 vm.dirty_ratio 和dirty_background_ratio 的值,因為這將快速刷新臟頁。

但根據我的經驗,我想說最好的方法是禁用 vmtoolsd,因為它有凍結文件系統的已知歷史,並同時向 VMware 提出案例以了解那裡的意見。

引用自:https://serverfault.com/questions/623976