Why is my SD card failing the speed test?
The Raspberry Pi Diagnostics SD Card Speed Test can be useful to test if your card slows down your Pi, but knowing how the test is run can be important to understand the results. This is especially true if the result is "Fail"!
What is the test?
The test tries to read and write files of various sizes in a few ways to find how the card handles the requests. It measures the time it takes and the number of requests per second the card can handle. This gives results in KB/s and IOPS (I/O per second). The higher, the better!
As mentioned in the test app, the results are valid only on a card with a freshly written image of Raspberry Pi OS. This is because using the card will move files around and this changes the time it takes to read and write on the card. Since the test measures the time it takes to read and write on the card, those changes on the card have a direct impact on the value of the test!
How do I run the test?
On the Raspberry Pi Desktop, open the Application menu, Accessories, Raspberry Pi Diagnostics. In the window that opens, check the box next to SD Card Speed Test and click the Run Tests in the lower right.
But the test says "Fail"!
Well, I invite you to click the "Show Log" button under the Results window and look at the raw numbers. There are many reasons the test might have failed, and here are a few of them:
- Other programs/processes running during the test (they could use the card or slow the test),
- Fragmentation on the card (Linux usually handles fragmentation well, but it still has a small impact on the test),
- Low free space on the card (causes slowdowns or test failure),
- Slower Pi (cannot use the full performance of the card).
If the test fails, wait a few minutes and try again. The results usually vary between runs and you may get a better result. The best result is closer to the truth!
It still fails!
- Check and clean the contacts on the card. Check if there is debris or dust in the card reader on the Pi.
- Check if your Pi is busy by using the command "htop". On the top, there will be a crude graphic with 6 bars. The ones named 1 to 4 are the CPU usage, wait until they are near the left before starting the test.
- Check if your Pi has enough free space with the command "df" (means Disk Free). The line you need to check is the one that says "/" in the column "Mounted on". The column "Use%" will tell you how much space is used. Free up space on the SD card so "Available" is at least 1 000 000 and "Use%" is at a maximum of 90%.
- Make sure your Pi is up to date: "sudo apt update && sudo apt full-upgrade" then reboot, wait a few minutes and try again.
- Check the markings on the card. Cards marked with "U1" (UHS-1) are good, "A1" (Application-1) are better. At this time, there is no benefit in having faster cards for most uses.
The cards we sell are rated UHS-1 (U1), and we also have Application-1 (A1) cards available. We select them so they operate well with Raspberry Pis!