나는 또한 그것을 보았다.
해결책이 없지만 해결책 ( echo 3 | sudo tee /proc/sys/vm/drop_caches
)과 잠재적으로 더 많은 정보가 있으므로 누군가 더 이상 조사를 할 수 있습니다.
"패키지 목록 읽기 중 ..." 에서 파일을 읽는 중이므로 네트워크 문제가 아닙니다 /var/lib/apt/lists/
. 에이:
strace -tt -T -fo strace.log apt-get update
제공합니다 :
16394 14:43:03.921130 open("/var/lib/apt/lists/gb.archive.ubuntu.com_ubuntu_dists_precise_main_binary-i386_Packages", O_RDONLY|O_LARGEFILE) = 7 <0.000012>
[...]
16394 14:43:03.995238 read(6, "-3.1ubuntu2)\nConflicts: linux86\n"..., 32444) = 32444 <0.000111>
16394 14:43:05.787187 read(6, "c (<< 1:14.b.4-dfsg), erlang-exa"..., 32239) = 32239 <0.000069>
16394 14:43:05.788025 read(6, ".deb\nSize: 42130\nMD5sum: c7de671"..., 31695) = 31695 <0.000068>
16394 14:43:05.870734 read(6, "5: 29c4b395a92bdc12932f151c3643a"..., 31607) = 31607 <0.000071>
16394 14:43:05.890862 read(6, "e-pack-af-base\nFilename: pool/ma"..., 32538) = 32538 <0.000070>
16394 14:43:05.891425 read(6, "buntu-usb-live, ubuntu-dvd-live,"..., 32090) = 32090 <0.000066>
16394 14:43:05.891960 read(6, "cd9755b03ac2c9b8251125c7b6618\nDe"..., 32195) = 32195 <0.000034>
16394 14:43:06.043001 read(6, "rg>\nArchitecture: all\nVersion: 2"..., 32535) = 32535 <0.000072>
read
각 개별 호출에 1ms 미만의 시간이 걸리더라도 8 개의 시스템 호출이 2 초 동안 어떻게 걸 렸는지 확인하십시오 . 를 실행 time apt-get update
하거나보고 top
있으면 두 프로세스간에 해당 프로세스가 사용 중이 아닙니다. 왜 지연이됩니까?
그런 다음 :
echo t > /proc/sysrq-trigger
몇 번이고 다음과 같은 결과를 보았습니다 kern.log
.
apt-get D 00000000 0 16790 12706 0x00000000
e8695d30 00000086 f7bd5e6c 00000000 f7bd5e44 f74a6580 c1990e00 c1990e00
efe46efe 000042cb f7b9de00 e71a7230 f74a6580 c107e116 00000000 00000000
044aa200 00000000 00000000 00000000 00000000 e8695d0c e8695d0c c1038de8
Call Trace:
[<c107e116>] ? enqueue_entity+0x186/0x220
[<c1038de8>] ? default_spin_lock_flags+0x8/0x10
[<c15e13bd>] ? _raw_spin_lock_irqsave+0x2d/0x40
[<c15e0533>] schedule+0x23/0x60
[<c15deecf>] schedule_timeout+0x12f/0x290
[<c1075c38>] ? ttwu_do_activate.constprop.86+0x58/0x70
[<c1055190>] ? usleep_range+0x40/0x40
[<c15e0846>] io_schedule_timeout+0x86/0xd0
[<c15cef7d>] balance_dirty_pages.isra.17+0x3f5/0x4b4
[<c15e118d>] ? _raw_spin_lock+0xd/0x10
[<c1180781>] ? __set_page_dirty_buffers+0x81/0xb0
[<c110deb5>] ? set_page_dirty+0x55/0x60
[<c11812c9>] ? __block_page_mkwrite+0xe9/0x170
[<c110f3ae>] balance_dirty_pages_ratelimited_nr+0xde/0x100
[<c1126f53>] do_wp_page+0x503/0x830
[<c1128ef7>] handle_pte_fault+0x267/0x2c0
[<c1129c62>] handle_mm_fault+0x1e2/0x280
[<c15e4988>] do_page_fault+0x158/0x4c0
[<c104e4dc>] ? irq_exit+0x5c/0xa0
[<c15e22d0>] ? do_debug+0x180/0x180
[<c15e4830>] ? vmalloc_fault+0x195/0x195
[<c15e1c53>] error_code+0x67/0x6c
따라서 그 의미가 무엇인지 확실하지 않지만 페이지 결함 처리에 대해 살펴보면 잠재적 인 메모리 관리 문제를 지적합니다.
나는 다음을 시도했다 :
echo 3 >/proc/sys/vm/drop_caches
그로 인해 문제가 해결되었습니다.
이제는 커널 문제처럼 보입니다. 그래서 나는 최신 커널 (에서 3.8 백 포트로 raring
)을 업데이트 했으며 그것이 내가있는 곳입니다. 최신 커널에서 문제가 지속되면 업데이트됩니다.
편집하다
새 커널에서는 문제가 지속되지만 나쁘지는 않습니다. 그리고 같은 것
echo 3 | sudo tee /proc/sys/vm/drop_caches
잠시 동안 문제를 해결합니다. MSI 랩탑에서만 발생하는 것을 보았습니다 (제품 이름 : CR61 2M / CX61 2OC / CX61 2OD).
2015 년 12 월 수정
btrace
aptitude
/에 의해 확인 된 것처럼 그 apt-get
당시 일부 디스크 I / O를 수행하는 것으로 보입니다. /var/cache/apt/pkgcache.bin.<random-chars>
메모리에 임시 파일 ( )이 핑핑되어 strace
출력에 표시되지 않는 이유가 있습니다 .
여전히 일부 컴퓨터에서만 발생하는 이유, 캐시 삭제가 도움이되는 이유, 64 비트로 전환하는 것이 도움이되는 이유는 여전히 설명 할 수 없습니다.
누군가가 그것을 재현 할 수 있다면, 흥미로운 테스트에서 실행 때 또한 발생하는 경우 볼 수 eatmydata
또는 이동하는 경우 /var/cache/apt
에 tmpfs
램 디스크 도움 또는.
sudo apt-get update
에 대해 이야기하고 있습니까?