1
0
mirror of https://github.com/shirou/gopsutil.git synced 2025-05-08 19:29:25 +08:00

38 Commits

Author SHA1 Message Date
Shirou WAKAYAMA
adf2f03a48 fix build and path error 2016-04-01 22:28:07 +09:00
Shirou WAKAYAMA
bce9212def fix build bugs. 2016-04-01 22:22:03 +09:00
Shirou WAKAYAMA
d21ed2b40d search path via exec.LookPath before actual invoke. 2016-04-01 22:13:05 +09:00
Shirou WAKAYAMA
613a8a90e1 fixed by golint. 2016-04-01 21:34:39 +09:00
Shirou WAKAYAMA
4bb84648bf JSON representation is renamed to fit Google JSON style, camelCase. 2016-03-23 10:52:46 +09:00
Johan Walles
dd875d4970 Fix memory stats on Darwin, non-CGO 2016-02-22 07:29:15 +01:00
Johan Walles
d109284df3 Fix memory stats on Darwin, CGO 2016-02-22 07:28:55 +01:00
Johan Walles
27093ae2d2 mem_darwin_test.go: Compare total to sysctl hw.memsize 2016-02-22 07:28:55 +01:00
Johan Walles
0d5592714b Fix memory stats on LinuxFreeBSD 2016-02-22 07:28:44 +01:00
Johan Walles
66a07939f7 Fix memory stats on Linux 2016-02-21 20:56:11 +01:00
Johan Walles
4438159155 Document + add tests for for mem.VirtualMemory()
This change changes and documents the (previously undocumented) behavior of Used
to "RAM used by programs".

We also remove the undocumented and unused Shared field of that struct.

So with this change in place, the VirtualMemoryStruct contains:
* three human-consumable fields for Total, Used and Available memory
* one human-consumable UsedPercentage field
* a number of kernel specific fields
2016-02-21 20:56:11 +01:00
Johan Walles
44f817eb8d Split mem_darwin.go into CGO and non CGO variants 2016-02-20 21:49:23 +01:00
Johan Walles
00504a37e3 Remove unused import 2016-02-19 23:39:00 +01:00
Johan Walles
a6cd6f803b Use Go's built in syscall.Getpagesize() 2016-02-19 23:37:43 +01:00
Johan Walles
13e00c76e4 Use OS calls rather than exec() to get memory statistics
Before this change we used to exec() various binaries to find out memory
information.

While this worked, it was awfully slow.

And if somebody would want to compute how many percent of available memory all
PIDs on the system uses, that would take almost ten seconds on my laptop with
the previous implementation.

This implementation fares a lot better, and is smaller.
2016-02-19 21:28:50 +01:00
Johan Walles
5771ea9465 Add Darwin specific mem.VirtualMemory() tests 2016-02-19 20:53:29 +01:00
Masayoshi Sekimura
3a1fa5dc80 format go program with go 1.5.2 "go fmt" 2016-01-09 16:17:21 -08:00
Nikolay Sivko
075839d9f1 fix imports 2015-11-25 10:50:51 +03:00
Nikolay Sivko
d4e648e253 [freebsd] fix SwapMemory for hosts without swap 2015-11-24 17:37:01 +03:00
Shirou WAKAYAMA
7288e9a5af common[all]: add internal 2015-10-20 00:04:57 +09:00
Daniel Theophanes
0af895258e common: rename package common to internal/common. Add ENV helper funcs.
Package common wasn't used for public functions. Place it in an
internal directory to prevent other packages from using.

Remove the distributed references to "HOST_PROC" and "HOST_SYS"
consts and combine into a common function. This also helps so that
if a env var is defined with a trailing slash all will continue to
work as expected.

Fixes #100
2015-10-18 20:40:01 -07:00
Jonathan Chauncey
0461c50666 chore(*): Fixes #94
Added the ability to fetch an alternative location for /proc via an
environment variable. If the env var is not set it will return /proc as
the default value.
2015-10-17 11:34:41 -06:00
Shirou WAKAYAMA
202a805f46 mem[darwin]: fix printf verb. 2015-10-14 15:59:10 +09:00
Cameron Sparr
6cd8284b30 When MemAvailable is in /proc/meminfo, use it (kernel 3.14+) 2015-09-21 17:18:20 -07:00
shirou
c1313e7634 Merge pull request #82 from influxdb/darwin-mem
Use vm_stat command on darwin to get memory
2015-09-18 16:31:13 +09:00
Cameron Sparr
4bba3025ca Use vm_stat command on darwin to get memory
This has the benefit of allowing us to also grab the cached memory so
that we can get an "available" measurement
2015-09-18 00:24:09 -07:00
WAKAYAMA shirou
be88485e9f mem[freebsd]: fix virtual memory available and used. 2015-09-18 14:01:49 +09:00
Cameron Sparr
ce70817f55 Fix memory reporting for linux systems
/proc/meminfo reports memory in KiloBytes and so needs a multiplier of
1024 instead of 1000.
The kernel reports in terms of pages and the proc filesystem is left
shifting by 2 for 4KB pages to get KB. Since this is a binary shift,
Bytes will need to shift by 10 and so get multiplied by 1024.

From the kernel code. PAGE_SHIFT = 12 for 4KB pages
"MemTotal:       %8lu kB\n", K(i.totalram)

Thanks to @subhachandrachandra!
2015-08-27 09:41:19 -06:00
Myungjun Kim
c5b94d3e4c memory[darwin]: return value of "sysctl hw.memsize" is memory size in bytes. 2015-08-16 16:32:53 +09:00
Shirou WAKAYAMA
a9e65ec556 mem[darwin]: fix VirtualMem stat multiply. 2015-07-23 11:39:22 +09:00
Nikolay Sivko
06282a319c [darwin] hw.memsize already in bytes 2015-04-08 14:53:21 +03:00
若山史郎
cea341c690 mem: add 0 check to darwin.swapmem. 2015-02-26 16:23:35 +09:00
Shirou WAKAYAMA
13cd195a7e change package name. 2014-12-30 22:09:05 +09:00
Shirou WAKAYAMA
1cb67eb4c2 merge 039b9defabe2fba35c9d3a4dbf7edc3fad812227 2014-12-27 23:43:18 +09:00
Shirou WAKAYAMA
16de570414 merge 039b9defabe2fba35c9d3a4dbf7edc3fad812227 2014-12-27 23:42:00 +09:00
WAKAYAMA Shirou
9f2c985a28 fix windows build. 2014-11-27 22:28:05 +09:00
WAKAYAMA shirou
d11680c773 fix bugs on FreeBSD. 2014-11-27 10:25:14 +09:00
Shirou WAKAYAMA
a4671fcc2a move subdirectories. refer to issue #24 2014-11-27 10:18:15 +09:00