E 'difficile isolare la CPU, lo so, ma gli errori che vedo suggeriscono che sia questo il problema.
Questo non è sicuramente un problema hardware difettoso / rotto . Ho eseguito Windows 10 tutto il giorno negli ultimi giorni e questa cosa sta girando velocemente! Nessun crash. Ancora più importante, ho eseguito il controllo della memoria di Windows. La memoria è buona.
specifiche della macchina
La macchina è un nuovissimo 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
isolando al kernel linux (?)
Ho visto gli stessi problemi su entrambi
- archlinux-2016/08/01-dual.iso
- ubuntu-gnome-16.04.1-desktop-amd64.iso
Per Arch: il problema si presentava in modo intermittente all'avvio dalla chiavetta USB. Sono riuscito a far installare Arch su una partizione ext4 da 100 GB sull'unità. Tale installazione presenta lo stesso problema in modo intermittente (come il 90% delle volte) durante l'avvio. Se vengo superato l'avvio, il problema appare in modo casuale dopo i primi due comandi di terminale che eseguo, causando infine un deadlock completo.
Per Ubuntu - la chiavetta USB non si avvia nemmeno. Vengo immediatamente fermato da questi stessi errori. Deadlock ...
Così tanti errori ...
Il diario è pieno di errori relativi alla memoria ogni volta che ciò accade, ma gli errori chiave che vedo sono:
General protection fault 0000[#1] PREEMPT SMPRIP kmem_cache_allocRIP kmem_cache_alloc_trace
Ho visto alcune delle stesse tracce dello stack più volte per questi errori:
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 continua anche a promettere che sta risolvendo il problema
Correzione dell'errore ricorsivo ma è necessario riavviare!
Spero che..
Intel ucode
Ho anche provato a installare il intel-ucodepacchetto nella mia installazione di Arch. Nei dmesgregistri ho visto che i microcodici sono stati aggiornati, ma che purtroppo non ha risolto il mio problema.
Quale potrebbe essere il problema? Come posso ripararlo?
MODIFICARE
Nota aggiuntiva
I messaggi di errore di protezione generale e i messaggi di tipo "blocco rilevato" fanno generalmente riferimento a una CPU. Ho visto CPU0, CPU1, CPU2e CPU3in questi messaggi. Sembra che qualcosa stia facendo sì che le CPU non vadano d'accordo, come se fossero tutte in un deadlock nel tentativo di svuotare la memoria cache o qualcosa del genere.
EDIT2
BIOS menzionato per errore
Vedo questo bit di informazioni in alcuni errori:
LENOVO 80U01LENOVO YOGA710-1 BIOS OGCN20WW(v1.04) 6/30/2016
Non sono sicuro che sia utile a un professionista nel comprendere il problema ...
Edit3
maxcpus = 1
Stavo cercando le opzioni di debug nella documentazione dei parametri del kernel e ho trovatomaxcpus
Se imposto max cpu su 1, il problema scompare. Quindi sembra che il problema sia una sorta di violazione della memoria cache condivisa.
Edit3
maxcpus = 1 + Gnome = nuovamente rotto
Anche se maxcpus=1sembrava far funzionare il sistema solo con 1 CPU, ho installato gnome e poi ho eseguitosystemctl enable gdm.service
Ora, quando riavvio, ricevo nuovamente tutti i miei errori, ma questa volta si verificano tutti su CPU0
Quindi sembra che qualcosa stia ancora causando una violazione della memoria anche con la 1 CPU.
edit4
nolapic
Quindi l'utilizzo nolapicsembra che tutto funzioni "funzionando"
MA usando nolapic, disabilito effettivamente la mia altra CPU e tutto il multithreading nella 1 CPU funzionante.
Sto provando a usarlo per OpenMP e dopo l'avvio con nolapicOpenMP e il kernel Linux riesco a trovare solo 1 thread, 1 CPU. Che schifo!
Ho anche provato intel_idle.max_cstate=0e 1, 2ecc. Ma questo non risolve il problema di avvio.
Cos'altro potrebbe impedire al kernel di utilizzare la mia macchina multi-core?
nomodesete nouveau.mode=0- non sono sicuro che sia simile)
maxcpusho trovato - l'ho impostato su 1 e il problema scompare ... Ma ora posso usare solo un procesor? :(
nomodeset nouveau.modeset=0insieme e se non funziona, provanomodeset i915.modeset=0 nouveau.modeset=0