mirror of
https://github.com/golang/go
synced 2024-11-18 14:24:44 -07:00
runtime/pprof: fix units of MaxRSS on Linux
Rusage.Maxrss is in bytes on Darwin but in KiB on Linux. Fix this discrepancy so it's always in bytes. Change-Id: Ic714abc3276566b8fe5e30565072092212610854 Reviewed-on: https://go-review.googlesource.com/c/go/+/230979 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Michael Knyszek <mknyszek@google.com> Reviewed-by: Jeremy Faller <jeremy@golang.org>
This commit is contained in:
parent
45cd312394
commit
197a2a3799
@ -9,12 +9,23 @@ package pprof
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"runtime"
|
||||
"syscall"
|
||||
)
|
||||
|
||||
// Adds MaxRSS to platforms that are supported.
|
||||
func addMaxRSS(w io.Writer) {
|
||||
var rssToBytes uintptr
|
||||
switch runtime.GOOS {
|
||||
case "linux", "android":
|
||||
rssToBytes = 1024
|
||||
case "darwin":
|
||||
rssToBytes = 1
|
||||
default:
|
||||
panic("unsupported OS")
|
||||
}
|
||||
|
||||
var rusage syscall.Rusage
|
||||
syscall.Getrusage(0, &rusage)
|
||||
fmt.Fprintf(w, "# MaxRSS = %d\n", rusage.Maxrss)
|
||||
fmt.Fprintf(w, "# MaxRSS = %d\n", uintptr(rusage.Maxrss)*rssToBytes)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user