- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前我正在用golang编写在线判断系统。
为了检测用户程序内存使用情况,我决定分析 cmd.ProcessState.SysUsage()
并检查 Rusage.Maxrss
.
现在我很困惑,因为当我尝试在我的Rusage.Maxrss
的mac 结果上运行它时电话很奇怪
这是我在 macOS 和 Linux 上运行的代码(已简化,此代码调用当前进程的 Getrusage()
)
我得到了一些结果:
package main
import (
"fmt"
"syscall"
)
func main() {
rusage := syscall.Rusage{}
pageSize := syscall.Getpagesize()
if err := syscall.Getrusage(syscall.RUSAGE_SELF, &rusage); err != nil {
fmt.Println(err)
panic(err)
}
fmt.Printf("page size: %d\nrusage.Maxrss: %d\n", pageSize, rusage.Maxrss)
}
go run test.go
page size: 4096
rusage.Maxrss: 2007040
go run test.go
page size: 4096
rusage.Maxrss: 17580
rusage.ru_maxrss
来自
C
语言)以千字节计算,所以在 macOS 上,我的代码使用了 ~2GB 内存
rusage.Maxrss
测量用户程序使用的内存的好决定吗?
最佳答案
在我的 Mac 上,getrusage()
手册页说:“ru_maxrss 使用的最大驻留集大小( 以字节为单位 )”(添加了重点)。这似乎对你的结果有意义。
iOS man page in Apple's legacy documentation archive您所指的确实说单位是千字节。目前尚不清楚这是由于 iOS 和 macOS 之间的不同行为还是手册页中的错误已得到纠正。遗憾的是,Apple 没有在线维护维护手册页。
关于linux - macOS 和 Linux 上 get rusage.maxrss 的奇怪值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59913657/
我正在尝试在我的程序中使用“usage”统计信息来获取类似于 time 的数据工具。但是,我很确定我做错了什么。这些值似乎是正确的,但有时可能有点奇怪。我没有在网上找到好的资源。有人知道如何做得更好吗
我正在计算进程/线程使用的 cpu 时间与某个函数的调用之间的增量。 我得到了进程 cpu 时间不可能的值,有时下一次调用会返回更小的 cpu 时间,这是不可能的。 这是我用来计算CPU时间的代码:
我有一个简单的函数,它创建一个子进程,等待它完成并打印 CPU 系统和用户时间。 int PrintChildProcessTime(char **arg) { pid_t pid;
目前我正在用golang编写在线判断系统。 为了检测用户程序内存使用情况,我决定分析 cmd.ProcessState.SysUsage()并检查 Rusage.Maxrss . 现在我很困惑,因为当
我是一名优秀的程序员,十分优秀!