“버그 : 소프트 락업-CPU # 0이 17163091968s에 붙어”수정하는 방법?


14

업데이트 : 최근에 정확한 시간에이 문제가 더 많이 발생했기 때문에 메시지 제목을 업데이트했습니다 17163091968s. 이것은 증상을 조사하는 사람들이이 페이지를 찾는 데 도움이됩니다. 아래의 (자기 수용) 답변을 참조하십시오.


VMware vSphere 데이터 센터에 64 비트 Ubuntu 10.04 LTS VM이 많이 있습니다. VMware 도구가 설치되었습니다 (vSphere Client에 "확인"표시).

syslog에 다음과 같은 오류가 발생하여 일부 VM이 몇 번 멈추는 것을 보았습니다. vSphere에서 상황을 확인할 때 콘솔이 검은 색이고 "Reboot guest"명령이 아무 것도 수행하지 않았으므로 VM의 전원을 껐다 켜야했습니다.

Dec  1 11:44:15 s0 kernel: [18446744060.007150] BUG: soft lockup - CPU#0 stuck for 17163091988s! [jed:26674]
Dec  1 11:44:15 s0 kernel: [18446744060.026854] Modules linked in: btrfs zlib_deflate crc32c libcrc32c ufs qnx4 hfsplus hfs minix ntfs vfat msdos fat jfs xfs exportfs reiserfs xt_tcpudp iptable_filter ip_tables x_tables acpiphp fbcon tileblit font bitblit softcursor ppdev vga16fb psmouse parport_pc shpchp vgastate i2c_piix4 lp parport serio_raw intel_agp floppy mptspi mptscsih vmw_pvscsi e1000 mptbase
Dec  1 11:44:15 s0 kernel: [18446744060.026899] CPU 0:
Dec  1 11:44:15 s0 kernel: [18446744060.026900] Modules linked in: btrfs zlib_deflate crc32c libcrc32c ufs qnx4 hfsplus hfs minix ntfs vfat msdos fat jfs xfs exportfs reiserfs xt_tcpudp iptable_filter ip_tables x_tables acpiphp fbcon tileblit font bitblit softcursor ppdev vga16fb psmouse parport_pc shpchp vgastate i2c_piix4 lp parport serio_raw intel_agp floppy mptspi mptscsih vmw_pvscsi e1000 mptbase
Dec  1 11:44:15 s0 kernel: [18446744060.026920] Pid: 26674, comm: jed Not tainted 2.6.32-30-server #59-Ubuntu VMware Virtual Platform
Dec  1 11:44:15 s0 kernel: [18446744060.026922] RIP: 0033:[<00007f92e03d2ce6>]  [<00007f92e03d2ce6>] 0x7f92e03d2ce6
Dec  1 11:44:15 s0 kernel: [18446744060.026930] RSP: 002b:00007fff6069b770  EFLAGS: 00000202
Dec  1 11:44:15 s0 kernel: [18446744060.026932] RAX: 00007f92e27e7e10 RBX: 00007f92e06d5e40 RCX: 0000000000020000
Dec  1 11:44:15 s0 kernel: [18446744060.026933] RDX: 00007f92e27e7e10 RSI: 0000000000020209 RDI: 0000000000000002
Dec  1 11:44:15 s0 kernel: [18446744060.026934] RBP: ffffffff81013cae R08: 0000000000000001 R09: 0000000000000000
Dec  1 11:44:15 s0 kernel: [18446744060.026935] R10: 00007f92e06d6398 R11: 0000000000000870 R12: 00000000000000c0
Dec  1 11:44:15 s0 kernel: [18446744060.026937] R13: 00007f92e299dca0 R14: 0000000000000020 R15: 00007f92e06d5e40
Dec  1 11:44:15 s0 kernel: [18446744060.026939] FS:  00007f92e105b700(0000) GS:ffff880009c00000(0000) knlGS:0000000000000000
Dec  1 11:44:15 s0 kernel: [18446744060.026940] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Dec  1 11:44:15 s0 kernel: [18446744060.026941] CR2: 00007ff12ea15000 CR3: 0000000267067000 CR4: 00000000000006f0
Dec  1 11:44:15 s0 kernel: [18446744060.026968] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Dec  1 11:44:15 s0 kernel: [18446744060.026989] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Dec  1 11:44:15 s0 kernel: [18446744060.026991] Call Trace:

(추적은 없습니다-이것이 마지막 줄입니다.)

더 이상 다른 오류가없는 것 같지만 위에서 언급 한 프로세스 ( jed)가 다른 덤프에서 다르다는 것을 확신 합니다.

  • 이 문제의 원인은 무엇입니까?

  • 이 문제를 방지하는 방법은 무엇입니까?

추가 정보 :

  • 이 값 17163091988은 약간 의심 스럽 1111111111000000000000000000010100습니다 (이진수로 표시됨) . 어쩌면 오류가 20 초 ( 10100이진수로) 라고 말하고 있었습니까?

  • 최신 10.04 커널 (2.6.32-35)에서 문제가 지속되는지 확실하지 않습니다.

  • 나는 또한 task ... blocked for more than 120 seconds문제 를 보았습니다. 아마도 관련이있을 수 있습니까?

  • vSphere 클라이언트에는 VM에 대한 경고 또는 마이그레이션 작업이 표시되지 않습니다.


어쩌면 뭔가 잘못된 계시일까요? 로 놀 수 있습니다 clocksource. 또한 CPU의 C 상태는 좋은 추측입니다.
SaveTheRbtz

답변:


12

모든 댓글 작성자에게 감사합니다. 나는 대답을 찾았다 고 생각한다. 적어도 우분투 커널 버전 2.6.32-30-server에는 시간 관리 버그가있는 것 같습니다. 버그는 때때로 (?) 약 200..210 일의 가동 시간에 도달하면 시스템을 죽입니다. 실제로 정지는 한계에 도달 한 직후에 발생하지 않지만 일부 작업 (제 경우 :)에 의해 트리거됩니다 apt-get install ....

NB : 200 일은 약 2 ^ 32 곱하기 1/250 초이며 250은 CONFIG_HZ의 기본값입니다.

현재로서는 최신 커널에서 문제가 해결되었는지 여부에 대한 데이터를 찾지 못했습니다. 나는 그것이 오래된 커널 (2.6.32-26 서버)에 영향을 미치지 않는 것으로 알고 있습니다. 이 모든 정보에서 아직 수정되지 않은 경우 다음과 같이 피할 수 있다고 가정합니다.

  • 190 일마다 머신을 부팅합니다 (어쨌든 커널 업그레이드를위한 좋은 아이디어)
  • CONFIG_HZ를 100으로 조정하여 497 일마다 작성하십시오. 그러나 특히 가상 환경에서 예기치 않은 부작용이 발생할 수 있습니다. 그리고 그것은 문제를 해결 하지 못합니다 .

우분투 버그 보고서 는 다음과 같습니다 .


좋은 발견-그것이 데비안에
속이는

호기심이 없음 : vmware를 통한 NTP 또는 시간 동기화를 사용하고 있습니까? 일정한 시간 이동 또는 이와 유사한 것 같습니다. syslog에 시간 이동 기록 항목이 있어야합니다.
pauska

방금 debian, 2.6.32-5-amd64 커널에서 "이상하게"수행되는 두 개의 소프트 락업을 보여줍니다.
James

5

이것은 실제로 다음 커널 커밋으로 수정 된 커널 버그입니다.

http://git.kernel.org/?p=linux/kernel/git/tip/tip.git;a=commit;h=4cecf6d401a01d054afc1e5f605bcbfe553cb9b9

다음 제목에 대해 LKML을 검색 할 수 있습니다 (2 개 이상의 링크를 게시 할 수 없음). [stable] 2.6.32.21-가동 시간 관련 충돌?

그리고 이것은 커널 수정을 가져 오는 LP # 버그입니다.

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/902317

lucid-updates에서 최신 커널로 업그레이드하면이 문제를 해결할 수 있습니다.

HTH


2

가상화 호스트에 사용하지 않는 코어를 저전력 / 절전 모드로 보낼 수있는 일부 절전 기능 ( "그린 IT")이 활성화되어있어 해당 코어를 사용하는 VM에서 흥미로운 중단이 발생할 수 있습니까? 나는 이것이 주로 HyperV 환경에서 문제가되었다고 들었습니다.하지만 조사해야 할 수도 있습니다.


1

다른 사람이 이것을 발견하면 커널 업그레이드로 비슷한 문제가 해결되었습니다. 부팅시 이러한 CPU Softlock 오류가 발생하는 SAS3 컨트롤러를 통해 시스템에 연결된 JBOD가있었습니다.

나는 Ubuntu 14.04.2 커널 버전 3.16.0-30을 가지고 있었고, "apt -y upgrade"를 수행하면 커널 3.16.0-49에서 결국 문제가 해결되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.