mirror of
https://github.com/morgan9e/macos-stats
synced 2026-04-14 00:04:15 +09:00
feat: added swapins and swapouts to the RAM module (#2222)
This commit is contained in:
@@ -29,6 +29,9 @@ public struct RAM_Usage: Codable {
|
||||
var swap: Swap
|
||||
var pressure: Pressure
|
||||
|
||||
var swapins: Int64
|
||||
var swapouts: Int64
|
||||
|
||||
public var usage: Double {
|
||||
get { Double((self.total - self.free) / self.total) }
|
||||
}
|
||||
@@ -131,7 +134,7 @@ public class RAM: Module {
|
||||
}
|
||||
|
||||
private func loadCallback(_ raw: RAM_Usage?) {
|
||||
guard raw != nil, let value = raw, self.enabled else { return }
|
||||
guard let value = raw, self.enabled else { return }
|
||||
|
||||
self.popupView.loadCallback(value)
|
||||
self.portalView.callback(value)
|
||||
@@ -193,6 +196,8 @@ public class RAM: Module {
|
||||
case "compressed": replacement = Units(bytes: Int64(value.compressed)).getReadableMemory()
|
||||
case "app": replacement = Units(bytes: Int64(value.app)).getReadableMemory()
|
||||
case "cache": replacement = Units(bytes: Int64(value.cache)).getReadableMemory()
|
||||
case "swapins": replacement = "\(value.swapins)"
|
||||
case "swapouts": replacement = "\(value.swapouts)"
|
||||
default: return
|
||||
}
|
||||
case "$swap":
|
||||
|
||||
@@ -52,6 +52,8 @@ internal class UsageReader: Reader<RAM_Usage> {
|
||||
let compressed = Double(stats.compressor_page_count) * Double(vm_page_size)
|
||||
let purgeable = Double(stats.purgeable_count) * Double(vm_page_size)
|
||||
let external = Double(stats.external_page_count) * Double(vm_page_size)
|
||||
let swapins = Int64(stats.swapins)
|
||||
let swapouts = Int64(stats.swapouts)
|
||||
|
||||
let used = active + inactive + speculative + wired + compressed - purgeable - external
|
||||
let free = self.totalSize - used
|
||||
@@ -89,7 +91,10 @@ internal class UsageReader: Reader<RAM_Usage> {
|
||||
used: Double(swap.xsu_used),
|
||||
free: Double(swap.xsu_avail)
|
||||
),
|
||||
pressure: Pressure(level: pressureLevel, value: pressureValue)
|
||||
pressure: Pressure(level: pressureLevel, value: pressureValue),
|
||||
|
||||
swapins: swapins,
|
||||
swapouts: swapouts
|
||||
))
|
||||
return
|
||||
}
|
||||
|
||||
@@ -32,6 +32,8 @@ You can use a combination of any of the variables.
|
||||
<li><b>$mem.compressed</b>: <small>Compressed RAM memory.</small></li>
|
||||
<li><b>$mem.app</b>: <small>Used RAM memory by applications.</small></li>
|
||||
<li><b>$mem.cache</b>: <small>Cached RAM memory.</small></li>
|
||||
<li><b>$mem.swapins</b>: <small>The number of memory pages loaded in from virtual memory to physical memory.</small></li>
|
||||
<li><b>$mem.swapouts</b>: <small>The number of memory pages swapped out to physical memory from virtual memory.</small></li>
|
||||
<li><b>$swap.total</b>: <small>Total swap memory.</small></li>
|
||||
<li><b>$swap.used</b>: <small>Used swap memory.</small></li>
|
||||
<li><b>$swap.free</b>: <small>Free swap memory.</small></li>
|
||||
|
||||
@@ -28,7 +28,9 @@ public struct RAM_entry: TimelineEntry {
|
||||
app: 16369778688.0,
|
||||
cache: 12575948800.0,
|
||||
swap: Swap(total: 0, used: 0, free: 0),
|
||||
pressure: Pressure(level: 1, value: .normal)
|
||||
pressure: Pressure(level: 1, value: .normal),
|
||||
swapins: 14,
|
||||
swapouts: 16
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user