GithubHelp home page GithubHelp logo

SetApfsTrimTimeout to 0 about nucintosh HOT 3 CLOSED

fnsnyc avatar fnsnyc commented on July 30, 2024
SetApfsTrimTimeout to 0

from nucintosh.

Comments (3)

zearp avatar zearp commented on July 30, 2024

Your slow boot times are caused by your drive and macOS not being the best of friends. Most likely the controller on your disk. You did not really fix the issue, you simply disabled trimming all together, which could be a bad thing but thats up to you to decide.

When your boot times are so slow it is due to trimming/garbage collection not working properly on your drive in combination with macOS. It happens. Some controllers have issues. You didn't specify what controller your disk uses or what disk you have.

You can leave it off and keep an eye on your disk speeds and manually trim it every now and then.

from nucintosh.

zearp avatar zearp commented on July 30, 2024
SetApfsTrimTimeout
Type: plist integer
Failsafe: -1
Requirement: 10.14 (not required for older)

Description: Set trim timeout in microseconds for APFS filesystems on SSDs.

The APFS filesystem is designed in a way that the space controlled via the spaceman structure is either used or free. This may be different in other filesystems where the areas can be marked as used, free, and unmapped. All free space is trimmed (unmapped/deallocated) at macOS startup. The trimming procedure for NVMe drives happens in LBA ranges due to the nature of the DSM command with up to 256 ranges per command. The more fragmented the memory on the drive is, the more commands are necessary to trim all the free space.

Depending on the SSD controller and the level of drive fragmenation, the trim procedure may take a considerable amount of time, causing noticeable boot slowdown. The APFS driver explicitly ignores previously unmapped areas and repeatedly trims them on boot. To mitigate against such boot slowdowns, the macOS driver introduced a timeout (9.999999 seconds) that stops the trim operation when not finished in time.

On several controllers, such as Samsung, where the deallocation process is relatively slow, this timeout can be reached very quickly. Essentially, it means that the level of fragmentation is high, thus macOS will attempt to trim the same lower blocks that have previously been deallocated, but never have enough time to deallocate higher blocks. The outcome is that trimming on such SSDs will be non-functional soon after installation, resulting in additional wear on the flash.

One way to workaround the problem is to increase the timeout to an extremely high value, which at the cost of slow boot times (extra minutes) will ensure that all the blocks are trimmed. Setting this option to a high value, such as 4294967295 ensures that all blocks are trimmed. Alternatively, use over-provisioning, if supported, or create a dedicated unmapped partition where the reserve blocks can be found by the controller. Conversely, the trim operation can be mostly disabled by setting a very low timeout value, while 0 entirely disables it. Refer to this article for details.

Note: The failsafe value -1 indicates that this patch will not be applied, such that apfs.kext will remain untouched.

Note 2: On macOS 12.0 and above, it is no longer possible to specify trim timeout. However, trim can be disabled by setting 0.

Note 3: Trim operations are only affected at booting phase when the startup volume is mounted. Either specifying timeout, or completely disabling trim with 0, will not affect normal macOS running.

https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/Configuration.pdf

https://dortania.github.io/Anti-Hackintosh-Buyers-Guide/Storage.html

from nucintosh.

zearp avatar zearp commented on July 30, 2024

I think most Samsung disks now work properly, just make sure the firmware is up to date. You can check what controller it has in Hackintool by hovering over the device name on the PCIe tab. Also if you use an nvme disk try and disable the nvmefix kext. It's recommended to use that kext but on some disks it can also cause the slower boot times, very rarely though. But maybe something you want to try.

I got a few Samsung nvme's and ssd's in use and have no issues with any of them, boot times are fast and operating temps and speeds are great. I even added an nvme to some of my old Dell hacks, also with Samsung and they work great. Almost feels wrong to give such an old platform so much storage speed hah.

Screenshot 2023-10-05 at 10 05 33

Screenshot 2023-10-05 at 10 16 03

from nucintosh.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.