Я знаю, что трудно изолировать процессор, но ошибки, которые я вижу, наводят на мысль, что это проблема.
Это определенно не является неисправной / сломанной аппаратной проблемой . Последние несколько дней я работал под управлением 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
- убунт-гном-16.04.1-настольный amd64.iso
Для Arch - проблема возникала только периодически при загрузке с флешки. Мне удалось установить Arch на раздел ext4 объемом 100 ГБ на диске. Эта установка имеет ту же проблему периодически (например, 90% времени) во время загрузки. Если я прошёл загрузку, то проблема появляется случайно после первой пары команд терминала, которые я выполняю, что в итоге приводит к полной тупиковой ситуации.
Для Ubuntu - флешка даже не загружается. Меня сразу же остановили эти самые ошибки. Тупик ...
Так много ошибок ...
Журнал заполнен ошибками, связанными с памятью, когда это происходит, но я вижу следующие ключевые ошибки:
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 также продолжает обещать, что это решает проблему
Исправление рекурсивной ошибки, но необходима перезагрузка!
Хотелось бы..
Intel Ucode
Я также попытался установить intel-ucode
пакет в моей установке Arch. Я видел в dmesg
журналах, что микрокоды были обновлены, но это, к сожалению, не решило мою проблему.
В чем может быть проблема? Как это можно исправить?
РЕДАКТИРОВАТЬ
Дополнительное примечание.
Сообщения об ошибках общей защиты и сообщения типа «обнаружение блокировки» обычно ссылаются на ЦП. Я видел CPU0
, CPU1
, CPU2
и CPU3
в этих сообщениях. Кажется, что что-то заставляет процессоры не ладить, как будто они все в тупике, пытаясь очистить кеш-память или что-то в этом роде.
EDIT2
BIOS упоминается по ошибке
Я вижу эту информацию в некоторых ошибках:
LENOVO 80U01LENOVO YOGA710-1 BIOS OGCN20WW(v1.04) 6/30/2016
Не уверен, что это поможет профессионалу понять проблему ...
EDIT3
maxcpus = 1
Я искал варианты отладки в документации параметров ядра и нашелmaxcpus
Если я установлю максимальное число процессоров равным 1, то проблема исчезнет. Так что может показаться, что проблема в каком-то нарушении общей кеш-памяти.
EDIT3
maxcpus = 1 + Gnome = снова сломан
Хотя maxcpus=1
казалось, что система работает только с одним процессором, я установил gnome и запустилsystemctl enable gdm.service
Теперь, когда я перезагружаюсь, я снова получаю все свои ошибки, но на этот раз они все происходят на CPU0
Таким образом, кажется, что что-то все еще вызывает нарушение памяти даже с 1 CPU.
EDIT4
nolapic
Таким образом, используя, nolapic
кажется, получить все "работает"
НО, используя nolapic
, я эффективно отключаю свой другой ЦП и всю многопоточность в 1 работающем ЦП.
Я пытаюсь использовать это для OpenMP, и после загрузки с nolapic
OpenMP и ядром Linux можно найти только 1 поток, 1 процессор. Это отстой!
Я тоже пробовал intel_idle.max_cstate=0
и 1
, 2
и т. Д. Но это не решает проблему загрузки.
Что еще может заставить ядро не использовать мою многоядерную машину?
источник
nomodeset
иnouveau.mode=0
- не уверен, что это похоже)maxcpus
- я установил его на 1, и проблема исчезла ... Но теперь я могу использовать только один процессор? :(nomodeset nouveau.modeset=0
вместе, и если это не сработает, попробуйтеnomodeset i915.modeset=0 nouveau.modeset=0
Ответы:
Оказывается, проблема была
i2c_hid
Это похоже на драйвер тачпада. По некоторым причинам, когда я отключаю его, я все еще могу использовать свой тачпад. Возможно, сенсорный экран на ноутбуке тоже использует этот драйвер, потому что он не работает.
Во всяком случае, я не люблю испачкать экран ноутбука отпечатками пальцев ... Пока, пока
i2c_hid
!Я исправил это, добавив это к параметрам ядра:
modprobe.blacklist=i2c_hid
Хотя
nolapic
и работал, он отключил все, кроме 1 ядра в процессорах.Я очень рекомендую кому-либо еще не использовать
apci=off
илиnolapic
по этой причине.Использование этих параметров является ядерным оружием, которое может заставить вашу машину работать, но вы потеряете много производительности и / или устройств ввода-вывода в качестве сопутствующего ущерба. Это хорошая отправная точка для загрузки, а затем вы можете залить журнал, как я, чтобы проанализировать неудачные загрузки.
Удачи тем, кто найдет это.
источник
hid_sensor_hub
достаточно и сенсорный экран также можно использовать (см. Мой ответ ниже для более подробной информации).Все эти ошибки похожи на те, которые я видел с плохими модулями ядра.
На ubuntuforums есть кто-то, кто утверждает, что загрузил Ubuntu на 710-14ISK, отключив acpi (добавьте
acpi=off
в настройки ядра). https://ubuntuforums.org/showthread.php?t=2329448Другой клиент на форумах lenovo сказал, что у него возникли проблемы с загрузкой fedora 24, и проследил проблему до прошивки Broadcom: https://forums.lenovo.com/t5/Linux-Discussion/Yoga-710-How-to-install-Linux / TD-п / 3361544
Попробуйте внести в черный список модули broadcom и nouveau (оставьте их невостребованными) и загрузитесь с выключенным acpi. У меня были похожие журналы, когда у меня в старом acer был плохо функционирующий модуль ralink: внесение в черный список модуля позволило мне загрузиться и остановило панику ядра, но оставило меня без Wi-Fi.
PS. Я бы добавил все это в комментарии, но у меня недостаточно репутации, чтобы комментировать (извините).
источник
acpi=off
сделал ошибку исчезла, но это также отключает мою клавиатуру. Похоже, что с acpi есть более детальные опции, поэтому я посмотрю, смогу ли я остановить ошибки при сохранении клавиатуры :)acpi=ht
сначала. help.ubuntu.com/community/BootOptions (смотрите в разделе «Общие параметры ядра») или для более полного списка: kernel.org/doc/Documentation/kernel-parameters.txtnolapic
работал для меня, и я могу загрузить, но тогда я могу получить доступ только к одному из моих процессоров. Я пытаюсь использовать этот ноутбук для разработки программ OpenMP, поэтому не работает только один процессор. Кажется, что в том, как ядро пытается использовать мои несколько процессоров, просто что-то не так. Тот факт, чтоnolapic
«исправляет» загрузку, может быть совпадением только из-за того, что она ограничивает ядро до 1 ЦПУ меня были похожие проблемы с последними ядрами (4.7.x до 4.8.2) на моем yoga710 с i5-6200U. Отключение i2c_h2d работает для меня. Я также обнаружил, что linux-lts (в настоящее время 4.4.25), кажется, работает хорошо, включая сенсорную панель и сенсорный экран.
Изменить: экспериментируя с кодом драйвера, я обнаружил, что это действительно вызвано
hid_sensor_hub
драйвером, поэтому внесение в черный список решает проблему, и сенсорный экран также можно использовать. Безусловно, отключение делает датчики (например, акселерометр) нераспознанными. Я пытался исправить драйвер; Однако я еще не нашел способ.источник
Для поддержки Skylake вам нужно ядро Linux версии 4.4 или выше. Проверьте следующую ссылку в Arch Linux wiki. https://wiki.archlinux.org/index.php/intel_graphics#Skylake_support
источник