mirror of
				https://github.com/Brandon-Rozek/website.git
				synced 2025-11-04 07:11:14 +00:00 
			
		
		
		
	Compare commits
	
		
			No commits in common. "75f46da99b8c05f21f380dbdec5529bdc8aa4ad0" and "01a28e2a4a54b66ecba994742434ea29737dfaa4" have entirely different histories.
		
	
	
		
			75f46da99b
			...
			01a28e2a4a
		
	
		
					 3 changed files with 0 additions and 83 deletions
				
			
		| 
						 | 
				
			
			@ -1,45 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
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.
 | 
			
		||||
| 
						 | 
				
			
			@ -30,7 +30,6 @@ 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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,37 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
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.
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue