summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Colomar <alx@kernel.org>2023-10-03 03:02:14 +0200
committerAlejandro Colomar <alx@kernel.org>2023-10-15 14:15:40 +0200
commit6a71bc07d813138393460cea911805bc7ca55a51 (patch)
treea9f09b49f1fccec97eeaf8144f12a6db3df263b2
parentebc2ed34d546f67db696243de62b18472d69f012 (diff)
www: random/fanless: Limit to 70C; add pSLC drive
Signed-off-by: Alejandro Colomar <alx@kernel.org>
-rw-r--r--srv/www/random/fanless.html255
1 files changed, 134 insertions, 121 deletions
diff --git a/srv/www/random/fanless.html b/srv/www/random/fanless.html
index c1e88ce..0c6e870 100644
--- a/srv/www/random/fanless.html
+++ b/srv/www/random/fanless.html
@@ -66,6 +66,12 @@
and a few other parts that didn't seem necessary to me.
</p>
<p>
+ Since I'm not going to use any PCIe cards
+ (that would kill the airflow),
+ I could cut most of the back plate of the case,
+ having better airflow,
+ and also allowing me to manipulate the interior easily.
+ <p>
I won't use the USBs in the case (I never trust them),
so I cut the USB cables (I couldn't remove them).
I removed the cable for the case leds.
@@ -87,8 +93,8 @@
Also, I want my computer to last many years,
so I can give it away when I stop using it
and it will still work for someone else for a long time.
- This high-end board has great
- thermal solution and power protection.
+ This high-end board has good quality components,
+ which will hopefully survive many years.
</p>
<p>
I'm not interested in having so many connections.
@@ -107,15 +113,40 @@
I might have some component DOA).
</p>
<p>
- Finally, a feature I thought I wouldn't be interested in,
+ A feature I thought I wouldn't be interested in,
but which I have come to appreciate very much:
- a 2-digit led screen
- indicating the CPU temperature at all times after POST
- (it serves as a debug code during POST).
- Apart from the usefulness during POST,
- I'm more interested in the ability to monitor the temps
- while doing heavy tasks,
- like compiling a large project.
+ a 2-digit 7-segment display
+ indicating the CPU temperature at all times after POST,
+ which serves as a debug code during POST.
+ However, there's no way to turn off the display only after POST,
+ when I'm no longer interested in monitoring the temps.
+ </p>
+ <p>
+ As always, there's also crap in this board.
+ For some reason motherboard producers
+ believe we want a Christmas tree instead of a computer.
+ This board has two of them;
+ one on top of the I/O,
+ and one on top of the chipset.
+ The one on top of the I/O is removed easily:
+ unscrew the back plate of the board,
+ then the I/O panel.
+ A large plastic panel will come out easily,
+ after you disconnect the cable for the LEDs.
+ For removing the one in the chipset,
+ you'll also need to unscrew the back plate.
+ Then unscrew the M.2 "shield", and the chipset cooler.
+ When you have the cooler separate,
+ you'll need a blade to separate
+ the plastic cover, and a metal one,
+ and then you'll be able to get rid of the screen itself.
+ All of that is glued
+ (and I bet that glue isn't even conducting heat),
+ so it'll be hard to remove,
+ but you can't break the aluminum block,
+ so it should be easy.
+ After you clean all the adhesive,
+ screw it all back again.
</p>
</li>
<li>CPU:
@@ -156,43 +187,25 @@
in tasks that I needed to run many years ago,
and now I look for the CPUs that have the larger cache,
which usually happen to have more cores too.
+ </p>
<p>
- Using 106 W for short periods is fine,
- but having the led screen showing the temps
- makes sure you keep an eye to avoid burning the CPU.
- (I got it to 99 Celsius when
- compiling the kernel with all cores.
- Just use less cores if you expect that
- some heavy task will take more than a couple of minutes.)
- </p>
- <p>
- Here are the temps while compiling a Linux kernel with
- `make -j8`.
- I wouldn't do this often,
- and recommend using only 4 cores for the kernel.
- For smaller tasks, though,
- it's fine to use 8 cores, or even all of them.
- <ul>
- <li>0 s - 37 °C</li>
- <li>10 s - 65 °C</li>
- <li>1 min - 70 °C</li>
- <li>2 min - 76 °C</li>
- <li>3 min - 80 °C</li>
- <li>4 min - 84 °C</li>
- <li>5 min - 86 °C</li>
- <li>6 min - 90 °C</li>
- <li>7 min - 90 °C</li>
- <li>8 min - 92 °C</li>
- <li>9 min - 95 °C</li>
- <li>10 min - 95 °C</li>
- <li>11 min - 98 °C</li>
- <li>12 min - 99 °C</li>
- <li>13 min - 99 °C</li>
- <li>14 min - 99 °C</li>
- <li>15 min - 99 °C</li>
- <li>15:11 - 99 °C (finished)</li>
- <li>15:15 - 68 °C</li>
- </ul>
+ In the BIOS,
+ I limited the CPU temperature to 70 °C
+ (the default is 100 °C).
+ The performance drop isn't important,
+ and the lifetime of the motherboard and CPU will increase.
+ For comparison,
+ building a Linux kernel v6.4 with `make -j8`
+ takes 15 minutes with the limiter at 100 °C,
+ and it takes 16:30 with the limiter at 70 °C.
+ </p>
+ <p>
+ Even though only 8 cores are "performance" cores,
+ and the other 16 are "efficiency" ones,
+ they are all useful for performance tasks.
+ Building a kernel with `make -j8` takes 16:30 minutes,
+ and building it with `make -j24` takes 9 minutes
+ (and the computer remains responsive).
</p>
</li>
<li>Cooler:
@@ -212,6 +225,23 @@
but it felt too risky.
Maybe next time I'll try with a cheaper CPU.
</p>
+ <p>
+ You can mount the cooler in 4 positions (every 90°).
+ Of course, the fins shoulg go vertical,
+ which leaves us with only 2 positions:
+ with the fins on top of the left MOSFET heatsink,
+ or with the fins on top of the RAM.
+ I put it to the left,
+ on top of the MOSFET heatsink.
+ That leaves the RAM uncovered,
+ so it's easier to change it if I ever need.
+ Also, in such a low power system,
+ the MOSFETs shouldn't ever be overheating,
+ so I prefer leaving more room for airflow for the RAM sticks.
+ Also, in this position,
+ the CPU cooler is closer to the back of the case,
+ where it'll have better access for fresh air.
+ </p>
</li>
<li>Thermal pad:
<a href="https://www.thermal-grizzly.com/en/products/299-carbonaut-en">Thermal Grizzly Carbonaut</a>
@@ -224,6 +254,11 @@
and it's clean and simple.
100% recommended.
</p>
+ <p>
+ Pastes also have a limited lifetime,
+ and you need to replace them,
+ while pads should live basically forever.
+ </p>
</li>
<li>GPU: No thanks!
@@ -276,10 +311,10 @@
<p>
For the same reasons as with RAM,
- I restrict myself to the three memory producers.
+ I restrict myself to the three memory producers when possible.
</p>
<p>
- In the past, I used Samsung SSDs
+ In the past, I used Samsung SSDs.
I have a computer with a 950 Pro,
and one with a 960 Pro.
They were great drives.
@@ -287,7 +322,7 @@
and they were also great.
</p>
<p>
- However, in the latest releases,
+ However, in the recent years
Samsung has been decreasing the quality of its drives.
I don't trust Samsung NVMe drives any more.
</p>
@@ -310,9 +345,53 @@
It reduces the wear that flowing electrons
produces to the NAND flash.
(Now I can't find the source, but I read this.)
- Also, I don't write that much to disk,
+ Also, I don't write that much to disk
to get it very hot.
- It stays around 55~60 °C.
+ It stays around 50~60 °C.
+ </p>
+
+ <a href="https://www.digikey.com/en/products/detail/atp-electronics-inc/AF320GSAJA-8BBIP/16537435">ATP I-Temp NVMe pSLC PCIe Gen3 M.2 2280 SSD N750Pi 320 GB (p/n: AF320GSAJA-8BBIP)</a>
+ <p>
+ For my personal computer,
+ I need around 1 TiB of storage.
+ However, I also built an almost identical computer
+ for my home server.
+ I don't need so much space there,
+ and 100~200 GiB should be enough.
+ What I need here is reliable storage.
+ </p>
+ <p>
+ SLC would be ideal for reliability,
+ but it's too expensive,
+ and is very limited in space.
+ Pseudo-SLC (pSLC) drives have almost the same durability,
+ but are way cheaper,
+ and can use 3D-NAND, so they come in slightly larger sizes.
+ </p>
+ <p>
+ I wanted to use the same M.2 slot in the motherboard,
+ which connects directly to the CPU,
+ for maximum performance,
+ so I needed an M.2 PCIe NVMe drive.
+ This was the only one I found,
+ and it seems it should be faster than the Crucial drive
+ for sustained writes,
+ as there's no cache involved.
+ </p>
+ <p>
+ At 6.4 PB for the TBW (total bytes written),
+ this drive is virtually immortal
+ (if I'd write the entire drive every day
+ --which is not going to happen--,
+ it would last for 54 years).
+ </p>
+ <p>
+ It's only around 6x the price per byte of a Crucial T700,
+ but accounting for the longer lifespan,
+ and faster speed,
+ I'm willing to use it where I don't need 1 TiB.
+ I don't like this trend of packing more bits per cell in SSDs
+ losing speed and durability.
</p>
</li>
<li>PSU:
@@ -320,81 +399,15 @@
<p>
For PSUs, I only trust Seasonic.
- I've had bad PSUs kill my hardware,
- so now I only use the best PSUs.
+ Bad PSUs kill hardware.
</p>
<p>
- I calculated that I only need around 100~200 W,
+ I calculated that I only need around 150~200 W,
so the smallest PSU would work.
- 450 W is the smallest that Seasonic has.
+ 450 W is the smallest one that Seasonic has.
</p>
</li>
</ul>
- <p>
- That is my main PC,
- which I'll use every day.
- Now, I'm planning a similar computer for my server,
- which currently is on a Raspberry Pi 4B+.
- </p>
- <p>
- The RPi4 is a bit sluggish,
- and I also fear that longevity is not going to be good,
- as the cooling is terrible.
- </p>
- <p>
- The RPi4 is a very cheap computer,
- but if you take into account that it will live a shorter life,
- and that I need my server to be reliable,
- a better computer can be worth it.
- </p>
- <p>
- For a server,
- I plan to use a cheaper CPU,
- such as the Intel i3-13100T.
- 4 cores are plenty for a personal server,
- and I don't care about the CPU cache there.
- Being cheaper, I may dare try delidding it.
- </p>
- <p>
- I also plan to use a different SSD.
- This time, it'll be a pseudo-SLC one.
- I don't trust consumer-grade SSDs
- for something that must be reliable.
- And HDDs have failed me too.
- I don't use backups,
- as everything that I do is on Git.
- Every one of my computers,
- where I have the repos cloned,
- can be considered one of my backups.
- </p>
- <p>
- If one of the computers dies,
- cloning from my server is trivial.
- But if my server dies,
- setting it up again from the clones in my computers
- is a bit more cumbersome
- (especially if I'm traveling).
- So I want it to be more reliable,
- and thus I want pSLC there.
- (True SLC would be too expensive.)
- </p>
- <p>
- I also want the drive to be a NVMe M.2 drive,
- so that I can use it in a MSI z790 ACE without adapters.
- I would need at least 200 GiB.
- I found a few drives that have 320 GB
- and one with 512 GB (maybe GiB?),
- for slightly over 1 EUR/GB,
- which seems an acceptable price.
- </p>
- <p>
- Since those drives don't come with a heatsink,
- I'll probably get one;
- still don't know which.
- </p>
- <p>
- The other components will likely be the same.
- </p>
</div>
<hr/>
@@ -403,7 +416,7 @@
<h2><a href="#top">^</a></h2>
<p>
- Last modified: <time>Sep/2023</time>
+ Last modified: <time>Oct/2023</time>
<br/>
<span class="name">Alejandro Colomar</span>
</p>