Краткая отладка предложений
Как следует из комментария @ ddbug, правильный путь - это проверить, что говорит нам сообщение об ошибке. Это приводит к следующему списку шагов:
- Запустить тест ОЗУ;
- Замените ОЗУ, если это необходимо.
Согласно @Ramhound, в ОЗУ не должно быть «темной магии»: из двух перечисленных мною ОЗУ ни одна из них не должна работать исключительно для Lenovo или iMac.
Окончательное решение: замена 32 ГБ оперативной памяти
После установки новой OWC RAM (32 ГБ) мой ноутбук снова работает. Я не вижу острой необходимости переустановить ОС.
В то же время, когда у меня 8 ГБ ОЗУ, я написал следующие сценарии AutoHotKey, чтобы ограничить случайное срабатывание программ, потребляющих ОЗУ, а именно Chrome и Kiwi для Gmail. Эти сценарии выглядят некрасиво, но делают свое дело: если физическая память меньше 10 ГБ или около того, ярлыки для этих двух программ не будут запускать новые экземпляры из них.
; Chrome: this thing is also RAM heavy; ^+\:: IfWinExist ahk_group Chrome_no_Remote groupactivate, Chrome_no_Remote, r ; Assign to variable: TotalPhys the Bytes in memory ; Source: https://autohotkey.com/board/topic/33622-report-physical-ram-installed/#entry213392 VarSetCapacity( MEMORYSTATUSEX,64,0 ), NumPut( 64,MEMORYSTATUSEX ) DllCall( "GlobalMemoryStatusEx", UInt,&MEMORYSTATUSEX ) TotalPhys := NumGet( MEMORYSTATUSEX,8,"Int64"), VarSetCapacity( PhysMem,16,0 ) DllCall( "shlwapi.dll\StrFormatByteSize64A", Int64,TotalPhys, Str,PhysMem, UInt,16 ) if (TotalPhys >= 10000000000) { IfWinExist ahk_group Chrome_no_Remote groupactivate, Chrome_no_Remote, r else run "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" return } return ; Kiwi as multiple Gmail account manager #+k:: ; Assign to variable: TotalPhys the Bytes in memory ; Source: https://autohotkey.com/board/topic/33622-report-physical-ram-installed/#entry213392 VarSetCapacity( MEMORYSTATUSEX,64,0 ), NumPut( 64,MEMORYSTATUSEX ) DllCall( "GlobalMemoryStatusEx", UInt,&MEMORYSTATUSEX ) TotalPhys := NumGet( MEMORYSTATUSEX,8,"Int64"), VarSetCapacity( PhysMem,16,0 ) DllCall( "shlwapi.dll\StrFormatByteSize64A", Int64,TotalPhys, Str,PhysMem, UInt,16 ) if (TotalPhys >= 10000000000) { IfWinExist ahk_exe Kiwi for Gmail.exe groupactivate, KIWI, r ; WinActivate ahk_exe Kiwi for Gmail.exe ; Send, ; sleep, 50 ; Send, else run C:\Users\llinfeng\AppData\Local\KiwiForGmail\Kiwi for Gmail.exe return } return
Старая ОС работает хорошо
Мой ноутбук работает более 10 часов, и ни один синий экран не появлялся ни разу. Тем не менее, потребление оперативной памяти ужасно: не занимаясь тяжелыми операциями, оно с удовольствием съедает 17 ГБ памяти.