change cpu_linux.go: on some android, runtime.NumCPU() will not return right number of cpu cores

This commit is contained in:
codeskyblue 2015-01-13 18:32:25 +08:00
parent df6dbdd1dc
commit 3b43a3f496
1 changed files with 11 additions and 3 deletions

View File

@ -12,10 +12,18 @@ import (
func CPUTimes(percpu bool) ([]CPUTimesStat, error) {
filename := "/proc/stat"
var lines []string
var lines = []string{}
if percpu {
ncpu, _ := CPUCounts(true)
lines, _ = common.ReadLinesOffsetN(filename, 1, ncpu)
var startIdx uint = 1
for {
linen, _ := common.ReadLinesOffsetN(filename, startIdx, 1)
line := linen[0]
if !strings.HasPrefix(line, "cpu") {
break
}
lines = append(lines, line)
startIdx += 1
}
} else {
lines, _ = common.ReadLinesOffsetN(filename, 0, 1)
}