第三方SSD问题引起电脑频繁重启问题IONVMeController.cpp:5499

简介: 第三方SSD问题引起电脑频繁重启问题IONVMeController.cpp:5499

电脑硬盘问题。一般第三方硬盘容易出这类问题。

固态硬盘接触不良,下固态硬盘,重新固定安装就好了。我的电脑一周出现两次这样的问题。出现这样的问题,可以换一个固态硬盘转接头,避免电脑来回移动震动电脑。

我的电脑是Macbook Air硬盘是第三方硬盘,至从升级到最新的macOS Big Sur版本11.4后经常出现电脑自动重启问题。今天重启了几十遍,给它吹风扇。把电脑启动时的自动加载项去掉好的多,当运行大程序电脑卡时同样存在电脑重启。甚至电脑自己进入睡眠模式还会重启。

从苹果支持网站给出的问题及部分作者给出的临时解决方案,知道是硬盘问题。

我通过卸掉电脑硬盘,擦拭金手指,然后安装上硬盘。卸载掉电风扇除灰尘后安装上就好了。

若是电脑硬盘兼容问题的解决方案有两个:

解决方案一,执行以下命令,看看效果:

jgs:~ mac$ sudo pmset -a hibernatemode 25
Password:
jgs:~ mac$ sudo pmset standbydelayhigh 300

方案二,若方案一不行就执行以下命令,该方案存在放置超过设定时间后可能有文件丢失的风险:

sudo pmset standby 0

以下是方案一的解释。

2020.1.29更新:建议经费充足的朋友直接买Intel 760p、Intel 7600P、Intel 660p、西数SN720这四款固态硬盘。实测这四种固态硬盘均无需调整pmset参数,直接能在hibernatemode=3模式下完美休眠。其中7600p功耗比原装更低,发热量更小。


2020.2.2更新:暂时不要升级Catalina,休眠有问题!


型号:A1466, Macbook Air early 2015, 4G 内存


OS: Mojave 10.14.5


升级ssd型号:建兴LITEON CA3-8D512


众所周知,自己动手升级非官方的SSD最害怕遇到休眠睡死问题。大家经常用pmset命令来将hibernatemode改为25。然而实际上这是个治标不治本的方法。hibernatemode受standbydelayhigh和standbydelaylow两个参数限制。其原理应该是在hibernatemode 3情形下,其休眠受standbydelayhigh和standbydelaylow的两个数值之间的某个时间点,机器自动将内存里的数据写入到硬盘。而第三方的硬盘往往无法在此过程中被识别出来,导致了长时间休眠后睡死唤不醒。


测试到底第三方ssd能否完美兼容的方法很简单:


1、查询现有电源模式


pmset -g custom

应该可以看到默认情况下,standbydelayhigh = 86400 (24小时), standbydelaylow=10800(3小时)


2、修改hibernatemode为25


sudo pmset -a hibernatemode 25

这个步骤做完了应该看起来休眠问题解决了,其实不然。


3、调整standbydelayhigh和standbydelaylow两个参数


sudo pmset standbydelayhigh 300

300单位是秒,可以调成任何一个时间。注意两个参数一大一小。


4、合盖休眠到300秒后打开看下是不是睡死的问题又来了?


那么,反其道而行之,对于不支持hibernatemode 3的第三方SSD,我们可以在设置hibernatemode为25的同时将这两个参数设置成较大的数值,然后避免在日常使用中电脑进入休眠状态。这样能一定程度上解决睡死问题。代价是唤醒比较慢,同时放置超过设定时间后可能有文件丢失的风险。

附录:关于pmset参数,可以用man pmset查看:

 hibernatemode = 0 (binary 0000) by default on supported desktops. The
 system will not back memory up to persistent storage. The system must
 wake from the contents of memory; the system will lose context on power
 loss. This is, historically, plain old sleep.

 hibernatemode = 3 (binary 0011) by default on supported portables. The
 system will store a copy of memory to persistent storage (the disk), and
 will power memory during sleep. The system will wake from memory, unless
 a power loss forces it to restore from disk image.

 hibernatemode = 25 (binary 0001 1001) is only settable via pmset. The
 system will store a copy of memory to persistent storage (the disk), and
 will remove power to memory. The system will restore from disk image. If
 you want "hibernation" - slower sleeps, slower wakes, and better battery
 life, you should use this setting.

具体执行如下:

jgs:~ mac$ pmset -g custom
Battery Power:
 lidwake              1
 autopoweroff         1
 standbydelayhigh     86400
 autopoweroffdelay    259200
 standbydelaylow      10800
 standby              1
 hibernatemode        3
 powernap             0
 gpuswitch            2
 ttyskeepawake        1
 hibernatefile        /var/vm/sleepimage
 highstandbythreshold 50
 displaysleep         2
 sleep                1
 lessbright           1
 halfdim              1
 acwake               0
 disksleep            10
AC Power:
 lidwake              1
 autopoweroff         1
 standbydelayhigh     86400
 autopoweroffdelay    259200
 standbydelaylow      10800
 standby              1
 hibernatemode        3
 powernap             1
 gpuswitch            2
 ttyskeepawake        1
 hibernatefile        /var/vm/sleepimage
 highstandbythreshold 50
 womp                 1
 displaysleep         10
 networkoversleep     0
 sleep                1
 acwake               0
 halfdim              1
 disksleep            10
jgs:~ mac$ sudo pmset -a hibernatemode 25
Password:
jgs:~ mac$ sudo pmset standbydelayhigh =300
Usage: pmset <options>
See pmset(1) for details: 'man pmset'
jgs:~ mac$
jgs:~ mac$ sudo pmset standbydelayhigh 300
panic(cpu 0 caller 0xffffff801e4ce860): nvme: "Fatal error occurred. CSTS=0xffffffff US[1]=0x0 US[0]=0xd8 VID=0x1179 DID=0x11a
. FW Revision=10604103\n"@/System/Volumes/Data/SWE/macOS/BuildRoots/e90674e518/Library/Caches/com.apple.xbs/Sources/IONVMeFamily/IONVMeFamily-557.120.1/Common/IONVMeController.cpp:5499
Backtrace (CPU 0), Frame : Return Address
0xffffffb0a8403960 : 0xffffff801bc8e0dd 
0xffffffb0a84039b0 : 0xffffff801bdd4f33 
0xffffffb0a84039f0 : 0xffffff801bdc552a 
0xffffffb0a8403a40 : 0xffffff801bc32a2f 
0xffffffb0a8403a60 : 0xffffff801bc8d8fd 
0xffffffb0a8403b80 : 0xffffff801bc8dbf3 
0xffffffb0a8403bf0 : 0xffffff801c49d81a 
0xffffffb0a8403c60 : 0xffffff801e4ce860 
0xffffffb0a8403c80 : 0xffffff801e4b345b 
0xffffffb0a8403de0 : 0xffffff801c3f4465 
0xffffffb0a8403e50 : 0xffffff801c3f4366 
0xffffffb0a8403e80 : 0xffffff801bcd46c5 
0xffffffb0a8403ef0 : 0xffffff801bcd5634 
0xffffffb0a8403fa0 : 0xffffff801bc3213e 
      Kernel Extensions in backtrace:
         com.apple.iokit.IONVMeFamily(2.1)[38BC0D0C-B305-30F6-8A8D-6804830F891A]@0xffffff801e4ac000->0xffffff801e4d5fff
            dependency: com.apple.driver.AppleEFINVRAM(2.1)[423BF733-A622-3BC9-8F0F-920A2927CD35]@0xffffff801d0fe000->0xffffff801d107fff
            dependency: com.apple.driver.AppleMobileFileIntegrity(1.0.5)[366C7BD4-9502-3D1C-ABBE-DE9749913D0C]@0xffffff801d2c0000->0xffffff801d2d5fff
            dependency: com.apple.iokit.IOPCIFamily(2.9)[99A70889-A31C-3B25-8E88-ADD3F317E4E4]@0xffffff801e76a000->0xffffff801e792fff
            dependency: com.apple.iokit.IOReportFamily(47)[367CCAE7-DAB4-3424-B191-44044619D5CB]@0xffffff801e7a1000->0xffffff801e7a3fff
            dependency: com.apple.iokit.IOStorageFamily(2.1)[A0D72FE9-649B-316A-8B5C-934E295FF0B5]@0xffffff801e86d000->0xffffff801e87efff

Process name corresponding to current thread: kernel_task

Mac OS version:
20F71

Kernel version:
Darwin Kernel Version 20.5.0: Sat May  8 05:10:33 PDT 2021; root:xnu-7195.121.3~9/RELEASE_X86_64
Kernel UUID: 52A1E876-863E-38E3-AC80-09BBAB13B752
KernelCache slide: 0x000000001ba00000
KernelCache base:  0xffffff801bc00000
Kernel slide:      0x000000001ba10000
Kernel text base:  0xffffff801bc10000
__HIB  text base: 0xffffff801bb00000
System model name: MacBookAir7,2 (Mac-937CB26E2E02BB01)
System shutdown begun: NO
Panic diags file available: YES (0x0)
Hibernation exit count: 0

System uptime in nanoseconds: 1300298973133
Last Sleep:           absolute           base_tsc          base_nano
  Uptime  : 0x0000012ebfdbca93
  Sleep   : 0x0000000000000000 0x0000000000000000 0x0000000000000000
  Wake    : 0x0000000000000000 0x00000005db81d622 0x0000000000000000
last started kext at 146758265328: @filesystems.smbfs 3.6 (addr 0xffffff7fb753a000, size 487424)
loaded kexts:
@filesystems.smbfs  3.6
|IO!BSerialManager  8.0.5d7
>!AUpstreamUserClient 3.6.8
>AudioAUUC  1.70
@fileutil 20.036.15
>AGPM 122.1
>!APlatformEnabler  2.7.0d0
>X86PlatformShim  1.0.0
@filesystems.autofs 3.0
@filesystems.ntfs 3.14.3
>!AGraphicsDevicePolicy 6.3.3
>!AHDAHardwareConfigDriver  283.15
@AGDCPluginDisplayMetrics 6.3.3
>!AHDA  283.15
>pmtelemetry  1
|IOUserEthernet 1.0.1
>usb.!UUserHCI  1
>!ASMCLMU 212
@Dont_Steal_Mac_OS_X  7.0.0
>!A!IBDWGraphics  16.0.4
>!AThunderboltIP  4.0.3
>!AHV 1
>!ADiskImages2  1
>eficheck 1
>AGDCBacklightControl 6.3.3
>!ABacklight  180.3
>!A!IBDWGraphicsFramebuffer 16.0.4
>!AMCCSControl  1.14
>!AFIVRDriver 4.1.0
>!ALPC  3.1
>ACPI_SMC_PlatformPlugin  1.0.0
>!ACameraInterface  7.6.0
>!A!ISlowAdaptiveClocking 4.0.0
|IO!BUSBDFU 8.0.5d7
|SCSITaskUserClient 436.121.1
>!UCardReader 511.120.2
>!AFileSystemDriver 3.0.1
@filesystems.tmpfs  1
@filesystems.hfs.kext 556.100.11
@BootCache  40
@!AFSCompression.!AFSCompressionTypeZlib  1.0.0
@!AFSCompression.!AFSCompressionTypeDataless  1.0.0d1
>!ATopCaseHIDEventDriver  4050.1
@filesystems.apfs 1677.120.9
>AirPort.BrcmNIC  1400.1.1
@private.KextAudit  1.0
>!ARTC  2.0
>!ASmartBatteryManager  161.0.0
>!AACPIButtons  6.1
>!AHPET 1.8
>!ASMBIOS 2.1
>!AACPIEC 6.1
>!AAPIC 1.7
@!ASystemPolicy 2.0.0
@nke.applicationfirewall  311
|IOKitRegistryCompatibility 1
|EndpointSecurity 1
|IOSerial!F 11
@kext.triggers  1.0
>!AGraphicsControl  6.3.3
>DspFuncLib 283.15
@kext.OSvKernDSPLib 529
|IOAVB!F  940.4
|IOEthernetAVB!C  1.1.0
@plugin.IOgPTPPlugin  985.2
>!ABacklightExpert  1.1.0
|IONDRVSupport  585.1
|IOAccelerator!F2 442.9
@!AGPUWrangler  6.3.3
@!AGraphicsDeviceControl  6.3.3
>!ASMBus!C  1.0.18d1
>!AHDA!C  283.15
|IOHDA!F  283.15
|IOGraphics!F 585.1
|IOAudio!F  300.6.1
@vecLib.kext  1.2.0
>!ASMBusPCI 1.0.14d1
>IOPlatformPluginLegacy 1.0.0
>X86PlatformPlugin  1.0.0
>IOPlatformPlugin!F 6.0.0d8
|IOSlowAdaptiveClocking!F 1.0.0
>!AThunderboltEDMSink 5.0.3
>!AThunderboltDPOutAdapter  8.1.4
>usb.cdc.ecm  5.0.0
>usb.cdc.ncm  5.0.0
|Broadcom!BHost!CUSBTransport 8.0.5d7
|IO!BHost!CUSBTransport 8.0.5d7
|IO!BHost!CTransport  8.0.5d7
>usb.IOUSBHostHIDDevice 1.2
>usb.!UHub  1.2
>!UMergeNub 900.4.2
>usb.cdc  5.0.0
>usb.networking 5.0.0
>usb.!UHostCompositeDevice  1.2
>!AThunderboltDPInAdapter 8.1.4
>!AThunderboltDPAdapter!F 8.1.4
>!AThunderboltPCIDownAdapter  4.1.1
>!ABSDKextStarter 3
|IOSurface  290.8.1
@filesystems.hfs.encodings.kext 1
>!AMultitouchDriver 4440.3
>!AInputDeviceSupport 4400.35
>!AHS!BDriver 4050.1
>IO!BHIDDriver  8.0.5d7
>!AHIDKeyboard  224
>!AHSSPIHIDDriver 61
>!AXsanScheme 3
|IONVMe!F 2.1.0
>!AThunderboltNHI 7.2.8
|IOThunderbolt!F  9.3.2
|IO80211!F  1200.12.2b1
|IOSkywalk!F  1
>mDNSOffloadUserClient  1.0.1b8
>corecapture  1.0.4
>usb.!UHostPacketFilter 1.0
|IOUSB!F  900.4.2
>!AHSSPISupport 61
>!A!ILpssSpi!C  3.0.60
>!A!ILpssI2C  3.0.60
>!A!ILpssDmac 3.0.60
>!A!ILpssGspi 3.0.60
>usb.!UXHCIPCI  1.2
>usb.!UXHCI 1.2
>!AEFINVRAM 2.1
>!AEFIRuntime 2.1
|IOSMBus!F  1.1
|IOHID!F  2.0.0
$!AImage4 3.0.0
|IOTimeSync!F 985.2
|IONetworking!F 3.4
>DiskImages 493.0.0
|IO!B!F 8.0.5d7
|IOReport!F 47
|IO!BPacketLogger 8.0.5d7
$quarantine 4
$sandbox  300.0
@kext.!AMatch 1.0.0d1
|CoreAnalytics!F  1
>!ASSE  1.0
>!AKeyStore 2
>!UTDM  511.120.2
|IOUSBMass!SDriver  184.121.1
|IOSCSIBlockCommandsDevice  436.121.1
|IO!S!F 2.1
|IOSCSIArchitectureModel!F  436.121.1
>!AMobileFileIntegrity  1.0.5
@kext.CoreTrust 1
>!AFDEKeyStore  28.30
>!AEffaceable!S 1.0
>!ACredentialManager  1.0
>KernelRelayHost  1
|IOUSBHost!F  1.2
>!UHostMergeProperties  1.2
>usb.!UCommon 1.0
>!ABusPower!C 1.0
>!ASEPManager 1.0.1
>IOSlaveProcessor 1
>!AACPIPlatform 6.1
>!ASMC  3.1.9
|IOPCI!F  2.9
|IOACPI!F 1.4
>watchdog 1
@kec.pthread  1
@kec.corecrypto 11.1
@kec.Libm 1
目录
相关文章
|
6月前
|
并行计算 Linux 测试技术
GPU实例使用--单实例上运行Linux桌面多开解决方案
客户前期使用的旧异构实例面临更新换代,新的推荐异构实例性能更强,客户的业务软件运行时,GPU使用率不高,需要探索多开方案,提高GPU使用率,提高实例性价比。
教你如何使用一条命令轻松查看电脑所支持的最大运行内存
教你如何使用一条命令轻松查看电脑所支持的最大运行内存
1235 0
|
6月前
|
定位技术 API
谷歌云端硬盘Drive批量下载大文件或大文件夹的稳定方法
谷歌云端硬盘Drive批量下载大文件或大文件夹的稳定方法
521 1
|
索引 Windows
Windows操作系统:PCIE Axidma篇 3 官方例程的读写测试
先介绍一下官方提供的几个demo吧,重点参考Xilinx官方文档65444.有的可以帮助我们开发应用,有的编成应用后可以当做小工具直接帮助我们直接配置寄存器或者读取内存地址的数值。
615 0
|
存储 缓存 监控
Meta “透明内存卸载” 功能亮相:可为 Linux 服务器节省 20%-32% 内存
Meta “透明内存卸载” 功能亮相:可为 Linux 服务器节省 20%-32% 内存
457 0
Meta “透明内存卸载” 功能亮相:可为 Linux 服务器节省 20%-32% 内存
|
固态存储 KVM 数据安全/隐私保护
|
存储 固态存储 IDE
Win系统 - 老电脑升级 SSD 这些地方一定要注意
Win系统 - 老电脑升级 SSD 这些地方一定要注意
244 0
Win系统 - 老电脑升级 SSD 这些地方一定要注意
|
固态存储
Win系统 - 随便升级SSD:性能没提升,危害还很大!
Win系统 - 随便升级SSD:性能没提升,危害还很大!
123 0
Win系统 - 随便升级SSD:性能没提升,危害还很大!
|
存储 安全 Go
读写 400MB/s 固态U盘轻松应对 Windows To Go
读写 400MB/s 固态U盘轻松应对 Windows To Go
739 0
读写 400MB/s 固态U盘轻松应对 Windows To Go