CPUを分離するのは難しいと思いますが、私が目にしているエラーはそれが問題であることを示唆しています。
これは間違いなく、誤動作/故障したハードウェアの問題ではありません。私は過去数日間、Windows 10を終日実行してきましたが、これは高速です!クラッシュはありません。さらに重要なことに、私はWindowsのメモリチェッカーを実行しました。メモリはすべて良好です。
機械スペック
マシンは、まったく新しい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カーネルへの分離(?)
私は両方で同じ問題を見てきました
- archlinux-2016.08.01-dual.iso
- ubuntu-gnome-16.04.1-desktop-amd64.iso
Archの場合-問題は、USBスティックからの起動時に断続的にのみ発生していました。私はなんとかドライブの100GB ext4パーティションにArchをインストールしました。そのインストールでは、起動中に断続的に(時間の90%のように)同じ問題が発生します。ブートに成功した場合、最初に実行したターミナルコマンドのカップルの後に問題がランダムに発生し、最終的に完全なデッドロックが発生します。
Ubuntuの場合-USBスティックも起動しません。私はこれらの同じエラーによってすぐに止められます。デッドロック...
非常に多くのエラー...
ジャーナルには、これが発生すると必ずメモリ関連のエラーが発生しますが、主なエラーは次のとおりです。
General protection fault 0000[#1] PREEMPT SMP
RIP kmem_cache_alloc
RIP kmem_cache_alloc_trace
これらのエラーについて、同じスタックトレースのいくつかを何度か見ました。
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はまた、問題を修正していることを約束し続けます
再帰的な障害を修正していますが、再起動が必要です!
私は望む..
インテルucode
私はまた、インストールしようとしたintel-ucode
私のアーチでパッケージをインストールします。私が見た中でdmesg
マイクロコードが更新されたことをログが、残念ながら私の問題を解決しませんでした。
問題は何でしょうか?どうすれば修正できますか?
編集
追加のメモ。
一般的な保護障害メッセージおよび「ロックアップ検出」タイプのメッセージは、通常、CPUを参照します。私が見てきたCPU0
、CPU1
、CPU2
およびCPU3
これらのメッセージに。何かが原因で、CPUがうまくいかなくなっているようです。たとえば、すべてがデッドロック状態になっていて、キャッシュメモリなどをクリアしようとしているようです。
EDIT2
エラーで言及されたBIOS
一部のエラーでこの情報が表示されます。
LENOVO 80U01LENOVO YOGA710-1 BIOS OGCN20WW(v1.04) 6/30/2016
それが問題を理解する上でプロに役立つかどうかわからない...
EDIT3
maxcpus = 1
カーネルパラメータのドキュメントでデバッグオプションを探していたところ、maxcpus
max cpu'sを1に設定すると、問題はなくなります。したがって、問題はある種の共有キャッシュメモリ違反であると思われます。
EDIT3
maxcpus = 1 + Gnome =再び壊れた
が、maxcpus=1
ちょうど1つのCPUとシステムを動作させるように見えた、私は、GNOME、その後、RANを設置しましたsystemctl enable gdm.service
今、再起動すると、すべてのエラーが再び表示されますが、今回はすべてCPU0で発生しています
したがって、1つのCPUでも、何かがメモリ違反を引き起こしているようです。
EDIT4
ノラピック
したがって、使用nolapic
するとすべてが「機能する」ようになります
しかし使用することによってnolapic
、私は効果的に私の他のCPUと1つのワーキングCPU内のすべてのマルチスレッドを無効にします。
私はこれをOpenMPに使用しようとしています。で起動した後nolapic
、OpenMPとLinuxカーネルは1スレッド、1 CPUしか検出できません。やばい!
私もintel_idle.max_cstate=0
や1
、2
などを試しましたが、これは起動の問題を解決しません。
カーネルが私のマルチコアマシンを利用できない原因は他にありますか?
nomodeset
、nouveau.mode=0
似ているかどうかは不明です)
maxcpus
-私はそれを1に設定し、問題は解消されました...しかし、今は1つのプロセッサしか使用できません。:(
nomodeset nouveau.modeset=0
一緒に試してみて、それがうまくいかない場合は試してくださいnomodeset i915.modeset=0 nouveau.modeset=0