# Get CPU usage

**URL:** <https://discourse.julialang.org/t/get-cpu-usage/24468>\
**Category:** General Usage\
**Tags:** question\
**Created:** [May 22, 2019, 10:35am UTC](https://discourse.julialang.org/t/get-cpu-usage/24468 "2019-05-22T10:35:14Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![fonsp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fonsp/32/222349_2.png) [@fonsp](https://discourse.julialang.org/u/fonsp)\
**Post date:** [November 23, 2022, 7:11pm UTC](https://discourse.julialang.org/t/get-cpu-usage/24468/7 "2022-11-23T19:11:08Z")

</div>

The psutil code was not too hard to port to Julia:

```julia
idle_time(info::Sys.CPUinfo) = Int64(info.cpu_times!idle)

busy_time(info::Sys.CPUinfo) = 
	Int64(
		info.cpu_times!user +
		info.cpu_times!nice +
		info.cpu_times!sys +
		info.cpu_times!irq
	)

period = 3 # seconds

usages = let
	
	info = Sys.cpu_info()
	busies = busy_time.(info)
	idles = idle_time.(info)

	sleep(period)

	info = Sys.cpu_info()
	busies = busy_time.(info) .- busies
	idles = idle_time.(info) .- idles

	busies ./ (idles .+ busies)
end

# This returns a Vector{Float64} with the CPU usage between 0.0 and 1.0

```

---

_[View the full topic](https://discourse.julialang.org/t/get-cpu-usage/24468)._
