Skip to content

Commit 12a40e2

Browse files
author
Vincent Landgraf
committed
implement page size function for net/openbsd and solaris/smartos
1 parent 8ab1e3b commit 12a40e2

2 files changed

Lines changed: 12 additions & 2 deletions

File tree

lib/vmstat/netopenbsd.rb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ def self.memory
88
uvmexp = `vmstat -s`
99

1010
Memory.new(
11-
extract_uvm_val(uvmexp, 'bytes per page'), # pagesize
11+
# pagesize call is not used to avoid double shell out
12+
pagesize(uvmexp), # pagesize
1213
extract_uvm_val(uvmexp, 'pages managed'), # wired
1314
extract_uvm_val(uvmexp, 'pages active'), # active
1415
extract_uvm_val(uvmexp, 'pages inactive'), # inactive
@@ -18,6 +19,11 @@ def self.memory
1819
)
1920
end
2021

22+
def self.pagesize(uvmexp)
23+
uvmexp ||= `vmstat -s`
24+
extract_uvm_val(uvmexp, 'bytes per page')
25+
end
26+
2127
def self.network_interfaces
2228
bytes = `netstat -ibq`.lines.grep(/<Link>/) # bytes
2329
pkgs = `netstat -iqd`.lines.grep(/<Link>/) # packages

lib/vmstat/solaris.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,16 @@ def self.load_average
1919
LoadAverage.new(*uptime.gsub(/\d+(\.\d+)?/).to_a[-3..-1].map(&:to_f))
2020
end
2121

22+
def self.pagesize
23+
`pagesize`.to_i
24+
end
25+
2226
def self.memory
2327
memstat = `echo ::memstat | mdb -k`
2428
vmstat = `vmstat -s`
2529

2630
Memory.new(
27-
`pagesize`.to_i, # pagesize
31+
pagesize,
2832
# wired
2933
extract_solaris_mval(memstat, 'Kernel', 'Boot pages', 'ZFS File Data'),
3034
# active

0 commit comments

Comments
 (0)