আমি এটাও দেখেছি।
আমার কাছে কোনও সমাধান নেই, তবে আমার কাছে কার্যতালিকা ( 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
প্রতিটি পৃথক কল 1 এমএসের চেয়েও কম সময় নিয়ে গেলেও কীভাবে সেই 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
কিছুক্ষণের জন্য সমস্যাটি পরিষ্কার করে দেয়। আমি কেবল এটিই দেখেছি এমএসআই ল্যাপটপে (পণ্যের নাম: CR61 2M / CX61 2OC / CX61 2OD)।
ডিসেম্বর 2015 সম্পাদনা করুন
যেমনটি দ্বারা নিশ্চিত করা হয়েছে btrace
aptitude
/ তখন apt-get
কিছু ডিস্ক আই / ও করার সময় উপস্থিত হয়। এটি একটি অস্থায়ী ফাইল পেয়েছে ( /var/cache/apt/pkgcache.bin.<random-chars>
) মেমরিতে ম্যাপ করা হয়েছে যার কারণে এটি strace
আউটপুটে প্রদর্শিত হয় না ।
এটি কেবল কয়েকটি মেশিনে কেন হয় তা ব্যাখ্যা করতে পারে না, কেন ক্যাচ ফেলে দেওয়া সহায়তা করে, কেন 64 বিবিটে স্যুইচিংয়ে সহায়তা করে।
কারো এটা নকল করা করতে পারেন, একটি আকর্ষণীয় পরীক্ষা দেখতে যে যদি এছাড়াও ঘটে যখন অধীনে চলমান হতে পারে eatmydata
অথবা যদি চলন্ত /var/cache/apt
সম্মুখের tmpfs
বা ramdisk এবং সাহায্য করে।
sudo apt-get update
?