Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
f436e0fc
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
f436e0fc
编写于
8月 18, 2015
作者:
D
dbuck
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8133666: OperatingSystemMXBean reports abnormally high machine CPU consumption on Linux
Reviewed-by: sla, mgronlun
上级
05c30f27
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
18 addition
and
9 deletion
+18
-9
src/solaris/native/sun/management/LinuxOperatingSystem.c
src/solaris/native/sun/management/LinuxOperatingSystem.c
+18
-9
未找到文件。
src/solaris/native/sun/management/LinuxOperatingSystem.c
浏览文件 @
f436e0fc
/*
* Copyright (c) 2011, 201
3
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2011, 201
5
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -76,14 +76,17 @@ static void next_line(FILE *f) {
static
int
get_totalticks
(
int
which
,
ticks
*
pticks
)
{
FILE
*
fh
;
uint64_t
userTicks
,
niceTicks
,
systemTicks
,
idleTicks
;
uint64_t
iowTicks
=
0
,
irqTicks
=
0
,
sirqTicks
=
0
;
int
n
;
if
((
fh
=
fopen
(
"/proc/stat"
,
"r"
))
==
NULL
)
{
return
-
1
;
}
n
=
fscanf
(
fh
,
"cpu "
DEC_64
" "
DEC_64
" "
DEC_64
" "
DEC_64
,
&
userTicks
,
&
niceTicks
,
&
systemTicks
,
&
idleTicks
);
n
=
fscanf
(
fh
,
"cpu "
DEC_64
" "
DEC_64
" "
DEC_64
" "
DEC_64
" "
DEC_64
" "
DEC_64
" "
DEC_64
,
&
userTicks
,
&
niceTicks
,
&
systemTicks
,
&
idleTicks
,
&
iowTicks
,
&
irqTicks
,
&
sirqTicks
);
// Move to next line
next_line
(
fh
);
...
...
@@ -92,24 +95,30 @@ static int get_totalticks(int which, ticks *pticks) {
if
(
which
!=
-
1
)
{
int
i
;
for
(
i
=
0
;
i
<
which
;
i
++
)
{
if
(
fscanf
(
fh
,
"cpu%*d "
DEC_64
" "
DEC_64
" "
DEC_64
" "
DEC_64
,
&
userTicks
,
&
niceTicks
,
&
systemTicks
,
&
idleTicks
)
!=
4
)
{
if
(
fscanf
(
fh
,
"cpu%*d "
DEC_64
" "
DEC_64
" "
DEC_64
" "
DEC_64
" "
DEC_64
" "
DEC_64
" "
DEC_64
,
&
userTicks
,
&
niceTicks
,
&
systemTicks
,
&
idleTicks
,
&
iowTicks
,
&
irqTicks
,
&
sirqTicks
)
<
4
)
{
fclose
(
fh
);
return
-
2
;
}
next_line
(
fh
);
}
n
=
fscanf
(
fh
,
"cpu%*d "
DEC_64
" "
DEC_64
" "
DEC_64
" "
DEC_64
"
\n
"
,
&
userTicks
,
&
niceTicks
,
&
systemTicks
,
&
idleTicks
);
n
=
fscanf
(
fh
,
"cpu%*d "
DEC_64
" "
DEC_64
" "
DEC_64
" "
DEC_64
" "
DEC_64
" "
DEC_64
" "
DEC_64
"
\n
"
,
&
userTicks
,
&
niceTicks
,
&
systemTicks
,
&
idleTicks
,
&
iowTicks
,
&
irqTicks
,
&
sirqTicks
);
}
fclose
(
fh
);
if
(
n
!=
4
)
{
if
(
n
<
4
)
{
return
-
2
;
}
pticks
->
used
=
userTicks
+
niceTicks
;
pticks
->
usedKernel
=
systemTicks
;
pticks
->
total
=
userTicks
+
niceTicks
+
systemTicks
+
idleTicks
;
pticks
->
usedKernel
=
systemTicks
+
irqTicks
+
sirqTicks
;
pticks
->
total
=
userTicks
+
niceTicks
+
systemTicks
+
idleTicks
+
iowTicks
+
irqTicks
+
sirqTicks
;
return
0
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录