CPU'yu izole etmek zor, biliyorum, ama gördüğüm hatalar sorun olduğunu gösteriyor.
Bu kesinlikle hatalı / bozuk bir donanım sorunu değildir . Windows 10'u son birkaç gündür çalıştırıyorum ve bu şey hızlı bir şekilde değişiyor! Çökme yok. Daha da önemlisi, Windows bellek denetleyicisini çalıştırdım. Hafıza iyi.
makine özellikleri
Makine yepyeni bir Lenovo Yoga 710 15 "
x64
Intel i7-6500 CPU @ 2.50 GHz, 2601 Mhz, 2 Cores, 4 Logical Processors
SMBIOS Version 2.8
BIOS Mode UEFI
16.0 GB DDR4 Ram
256 MB SSD
Linux çekirdeğine izolasyon (?)
Her ikisinde de aynı sorunları gördüm
- Arch Linux-2016/08/01-dual.iso
- ubuntu-gnome-16.04.1-masaüstü-amd64.iso
Arch için - sorun USB çubuğundan önyükleme sırasında sadece aralıklı olarak ortaya çıkıyordu. Arch'ı sürücüdeki 100 GB'lık bir ext4 bölümüne kurmayı başardım. Bu yükleme, önyükleme sırasında zaman zaman aynı sorunu yaşıyor (zamanın% 90'ı gibi). Önyüklemeyi geçersem, çalıştırdığım terminal komutlarının ilk çiftinden sonra sorun rastgele görünür ve sonunda tam bir kilitlenmeye neden olur.
Ubuntu için - USB bellek bile önyükleme yapmıyor. Hemen aynı hatalardan dolayı duruyorum. Kilitlenme ...
Çok fazla hata ...
Günlük bu olduğunda bellekle ilgili hatalarla doludur, ancak gördüğüm önemli hatalar şunlardır:
General protection fault 0000[#1] PREEMPT SMP
RIP kmem_cache_alloc
RIP kmem_cache_alloc_trace
Bu hatalar için birkaç kez aynı yığın izlerini gördüm:
rbt_memtype_copy_nth_element
on_each_cpu
flusH_tbl_kernel_range
__purge_umap_area_lazy
um_unmam_aliases
change_page_attr_set_clr
set_memory_ro
frob_text.isra
module_enable_ro
kobject_create
kobject_create_and_add
load_module
__symbol_put
kernel_read
sys_finit_module
entry_SYSCALL_64_fastpath
kmem_cache_alloc_trace
allocate_cgrp_cset_links
...
sys_write
entry_SYSCALL-64_fastpath
Linux ayrıca sorunu çözdüğünü de vaat ediyor
Özyinelemeli hatayı düzeltme ancak yeniden başlatma gerekiyor!
Keşke..
intel ucode
intel-ucode
Paketi Arch kurulumuma yüklemeyi de denedim . dmesg
Günlüklerde mikrokodların güncellendiğini gördüm , ancak maalesef sorunumu çözmedi.
Sorun ne olabilir? Nasıl düzeltebilirim?
DÜZENLE
Ek not.
Genel koruma hatası mesajları ve "kilitlenme algılandı" tipi mesajlar tipik olarak bir CPU'yu belirtir. Gördüğüm CPU0
, CPU1
, CPU2
ve CPU3
bu mesajlarda. Görünüşe göre bir şey CPU'ların anlaşamamasına neden oluyor, sanki hepsi önbellek veya başka bir şeyi temizlemeye çalışan bir kilitlenme içinde.
EDIT2
Hata ile belirtilen BIOS
Bazı hatalarda bu bilgileri biraz görüyorum:
LENOVO 80U01LENOVO YOGA710-1 BIOS OGCN20WW(v1.04) 6/30/2016
Sorunun anlaşılmasında bir profesyonel için yararlı olup olmadığından emin değilim ...
EDIT3
maxcpus = 1
Çekirdek parametreleri parametrelerine hata ayıklama seçenekleri arıyordum ve buldummaxcpus
Max cpu'nun 1 değerini ayarlarsam sorun ortadan kalkar. Yani sorunun bir tür paylaşılan önbellek belleği ihlali olduğu anlaşılıyor.
EDIT3
maxcpus = 1 + Gnome = tekrar kırıldı
maxcpus=1
Sistemin sadece 1 CPU ile çalışmasına rağmen , gnome yükledim ve daha sonra koştumsystemctl enable gdm.service
Şimdi, yeniden başlattığımda, tüm hatalarımı tekrar geri alıyorum, ama bu sefer hepsi CPU0'da oluyor
Görünüşe göre 1 CPU ile bile bir şey hala bellek ihlaline neden oluyor.
EDIT4
nolapic
Yani kullanmak nolapic
her şeyin "çalışmasını" sağlıyor
ANCAK kullanarak nolapic
, diğer CPU ve tüm 1 çok işlemcili tüm çoklu kullanım etkin bir şekilde devre dışı bırakın.
Bunu OpenMP için kullanmaya çalışıyorum ve önyükleme yaptıktan sonra nolapic
OpenMP ve linux çekirdeği sadece 1 iş parçacığı, 1 CPU bulabiliyor. Bu berbat!
Ben de denedim intel_idle.max_cstate=0
ve 1
, 2
vb. Ama bu önyükleme sorunu çözmez.
Çekirdeğin çok çekirdekli makinemi kullanmamasına başka ne neden olabilir?
nomodeset
ve nouveau.mode=0
- benzer olup olmadığından emin değilim)
maxcpus
- 1'e ayarladım ve sorun ortadan kalktı ... Ama şimdi sadece bir işlemciyi kullanabilir miyim? :(
nomodeset nouveau.modeset=0
birlikte deneyin ve eğer işe yaramazsa deneyinnomodeset i915.modeset=0 nouveau.modeset=0