Compare commits

...

2 commits

Author SHA1 Message Date
75f46da99b
New post 2024-04-06 21:10:05 -04:00
d3d43e3649
New menu item 2024-04-06 19:50:21 -04:00
3 changed files with 83 additions and 0 deletions

View file

@ -0,0 +1,45 @@
---
title: "Disabling CPUs to Save Power"
date: 2024-04-06T20:48:52-04:00
draft: false
tags: []
math: false
medium_enabled: false
---
Looking for ways to reduce the power usage of my home server? This post shows a not-so-scientific look at how disabling CPUs can help save some power.
I run a Dell PowerEdge R430 with an Intel Xeon E5-2643 v3 CPU. This gives me 12 physical cores, and with hyperthreading this presents itself as 24 logical cores.
Given that I mostly use my server as media storage, most of those CPUs sit idle most of the time. My thought is, how much power can I save if I disable some of these unused cores?
For idle workloads disabling the CPU does not result in any noticeable power savings. The power savings is significant, however, if you analyze the system under load.
To conduct this experiment, I used a [Kill a Watt](https://en.wikipedia.org/wiki/Kill_A_Watt) measuring device which monitors the power usage of whatever is plugged into it.
To disable a CPU in Linux, use the following command:
```bash
# Disable CPU 23
echo 0 | sudo tee /sys/devices/system/cpu/cpu23/online > /dev/null
```
Repeat for any CPUs you want to disable. You can see which CPUs are available using `ls /sys/devices/system/cpu`. The `htop` tool will display in addition to the CPU utilization, which CPUs are offline.
To get the system under load, I used the `stress` tool.
```bash
# Spin off 24 dummy tasks that max out each CPU
stress -c 24
```
I ran the stress tool with the corresponding number of logical CPUs I had online to come up with the following table:
| # Online Logical CPU | Power (Watts) |
| -------------------- | ------------- |
| 24 | 360 |
| 12 | 295 |
| 6 | 194 |
| 4 | 173 |
Cutting down to 4 logical CPUs can cut the power usage under load in half! Do note though, that this exchanges performance for power savings. If you are running a low amount of services on your home server or can wait a bit of extra time for a computation to finish, consider disabling some of your CPUs.

View file

@ -30,6 +30,7 @@ The following menu contains meals that are in rotation at my home. These are mad
## Soups
- [Beef Taco](beef-taco-soup/)
- [Pork Pozole](pork-pozole/)
- Chicken & Gnocchi
- {{< vegetarian >}}Broccoli Cheddar

View file

@ -0,0 +1,37 @@
---
title: "Beef Taco Soup"
date: 2024-04-06
hideDate: true
draft: false
---
## Ingredients
- Beef
- 1/2 yellow onion
- 1/2 green bell pepper
- 1/2 red bell pepper
- 24 oz beef broth
- 1 can diced tomatoes
- 2 ounces cream cheese
- 1/2 cup of heavy whipping cream
- 1 cup cheddar cheese
- 1 tablespoon chili powder
- 1 tablespoon cumin
- 2 teaspoons onion powder
- 3 teaspoons oregano
- 1 teaspoon garlic powder
- 1 teapoon paprika
- 1/2 teaspoon cayenne pepper
## Recipe
1. Cook beef
2. Blend diced tomatoes and beef broth together.
3. Put tomato and broth blend in pot and bring to a boil,
then reduce heat to a simmer.
4. Meanwhile start cooking the onion and bell peppers.
5. Add beef, onion, bell peppers, and spices to the pot.
6. Cook for 30 minutes
7. Add cream cheese, heavy whipping cream, and cheddar cheese
to the pot.
8. Wait until everything is all melted and smooth then serve.