Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
htop
Commits
e0209da8
Commit
e0209da8
authored
Apr 24, 2014
by
Hisham Muhammad
Browse files
Support pagefaults stats. Closes #45.
parent
4e2c2d79
Changes
4
Hide whitespace changes
Inline
Side-by-side
ChangeLog
View file @
e0209da8
...
@@ -10,6 +10,7 @@ What's new in version 1.0.3
...
@@ -10,6 +10,7 @@ What's new in version 1.0.3
of IO data depending on selected fields.
of IO data depending on selected fields.
* Better consistency in coloring.
* Better consistency in coloring.
* Increase limit of buffer when tracing a deep nested process tree.
* Increase limit of buffer when tracing a deep nested process tree.
* Display pagefault stats.
* BUGFIX: Fix crash when adding meters and toggling detailed CPU time.
* BUGFIX: Fix crash when adding meters and toggling detailed CPU time.
(thanks to Dawid Gajownik)
(thanks to Dawid Gajownik)
* Add column to track the OOM-killer score of processes
* Add column to track the OOM-killer score of processes
...
...
Process.c
View file @
e0209da8
...
@@ -168,11 +168,11 @@ typedef struct Process_ {
...
@@ -168,11 +168,11 @@ typedef struct Process_ {
int basenameOffset;
int basenameOffset;
bool updated;
bool updated;
#ifdef DEBUG
unsigned long int minflt;
unsigned long int minflt;
unsigned long int cminflt;
unsigned long int cminflt;
unsigned long int majflt;
unsigned long int majflt;
unsigned long int cmajflt;
unsigned long int cmajflt;
#ifdef DEBUG
long int itrealvalue;
long int itrealvalue;
unsigned long int vsize;
unsigned long int vsize;
long int rss;
long int rss;
...
@@ -254,7 +254,7 @@ const int Process_fieldFlags[] = {
...
@@ -254,7 +254,7 @@ const int Process_fieldFlags[] = {
const
char
*
Process_fieldTitles
[]
=
{
const
char
*
Process_fieldTitles
[]
=
{
""
,
" PID "
,
"Command "
,
"S "
,
" PPID "
,
" PGRP "
,
" SESN "
,
""
,
" PID "
,
"Command "
,
"S "
,
" PPID "
,
" PGRP "
,
" SESN "
,
" TTY "
,
" TPGID "
,
"- "
,
"
- "
,
"- "
,
"- "
,
"-
"
,
" TTY "
,
" TPGID "
,
"- "
,
"
MINFLT "
,
" CMINFLT "
,
" MAJFLT "
,
" CMAJFLT
"
,
" UTIME+ "
,
" STIME+ "
,
" CUTIME+ "
,
" CSTIME+ "
,
"PRI "
,
" NI "
,
"- "
,
" UTIME+ "
,
" STIME+ "
,
" CUTIME+ "
,
" CSTIME+ "
,
"PRI "
,
" NI "
,
"- "
,
"START "
,
"- "
,
"- "
,
"- "
,
"- "
,
"- "
,
"- "
,
"START "
,
"- "
,
"- "
,
"- "
,
"- "
,
"- "
,
"- "
,
"- "
,
"- "
,
"- "
,
"- "
,
"- "
,
"- "
,
"- "
,
"- "
,
"- "
,
"- "
,
"- "
,
"- "
,
"- "
,
"- "
,
...
@@ -483,6 +483,10 @@ static void Process_writeField(Process* this, RichString* str, ProcessField fiel
...
@@ -483,6 +483,10 @@ static void Process_writeField(Process* this, RichString* str, ProcessField fiel
case
TTY_NR
:
snprintf
(
buffer
,
n
,
"%5u "
,
this
->
tty_nr
);
break
;
case
TTY_NR
:
snprintf
(
buffer
,
n
,
"%5u "
,
this
->
tty_nr
);
break
;
case
TGID
:
snprintf
(
buffer
,
n
,
Process_pidFormat
,
this
->
tgid
);
break
;
case
TGID
:
snprintf
(
buffer
,
n
,
Process_pidFormat
,
this
->
tgid
);
break
;
case
TPGID
:
snprintf
(
buffer
,
n
,
Process_tpgidFormat
,
this
->
tpgid
);
break
;
case
TPGID
:
snprintf
(
buffer
,
n
,
Process_tpgidFormat
,
this
->
tpgid
);
break
;
case
MINFLT
:
Process_colorNumber
(
str
,
this
->
minflt
,
coloring
);
return
;
case
CMINFLT
:
Process_colorNumber
(
str
,
this
->
cminflt
,
coloring
);
return
;
case
MAJFLT
:
Process_colorNumber
(
str
,
this
->
majflt
,
coloring
);
return
;
case
CMAJFLT
:
Process_colorNumber
(
str
,
this
->
cmajflt
,
coloring
);
return
;
case
PROCESSOR
:
snprintf
(
buffer
,
n
,
"%3d "
,
ProcessList_cpuId
(
this
->
pl
,
this
->
processor
));
break
;
case
PROCESSOR
:
snprintf
(
buffer
,
n
,
"%3d "
,
ProcessList_cpuId
(
this
->
pl
,
this
->
processor
));
break
;
case
NLWP
:
snprintf
(
buffer
,
n
,
"%4ld "
,
this
->
nlwp
);
break
;
case
NLWP
:
snprintf
(
buffer
,
n
,
"%4ld "
,
this
->
nlwp
);
break
;
case
COMM
:
{
case
COMM
:
{
...
...
Process.h
View file @
e0209da8
...
@@ -147,11 +147,11 @@ typedef struct Process_ {
...
@@ -147,11 +147,11 @@ typedef struct Process_ {
int
basenameOffset
;
int
basenameOffset
;
bool
updated
;
bool
updated
;
#ifdef DEBUG
unsigned
long
int
minflt
;
unsigned
long
int
minflt
;
unsigned
long
int
cminflt
;
unsigned
long
int
cminflt
;
unsigned
long
int
majflt
;
unsigned
long
int
majflt
;
unsigned
long
int
cmajflt
;
unsigned
long
int
cmajflt
;
#ifdef DEBUG
long
int
itrealvalue
;
long
int
itrealvalue
;
unsigned
long
int
vsize
;
unsigned
long
int
vsize
;
long
int
rss
;
long
int
rss
;
...
...
ProcessList.c
View file @
e0209da8
...
@@ -444,10 +444,14 @@ static bool ProcessList_readStatFile(Process *process, const char* dirname, cons
...
@@ -444,10 +444,14 @@ static bool ProcessList_readStatFile(Process *process, const char* dirname, cons
location
+=
1
;
location
+=
1
;
process
->
flags
=
strtoul
(
location
,
&
location
,
10
);
process
->
flags
=
strtoul
(
location
,
&
location
,
10
);
location
+=
1
;
location
+=
1
;
location
=
strchr
(
location
,
' '
)
+
1
;
process
->
minflt
=
strtoull
(
location
,
&
location
,
10
);
location
=
strchr
(
location
,
' '
)
+
1
;
location
+=
1
;
location
=
strchr
(
location
,
' '
)
+
1
;
process
->
cminflt
=
strtoull
(
location
,
&
location
,
10
);
location
=
strchr
(
location
,
' '
)
+
1
;
location
+=
1
;
process
->
majflt
=
strtoull
(
location
,
&
location
,
10
);
location
+=
1
;
process
->
cmajflt
=
strtoull
(
location
,
&
location
,
10
);
location
+=
1
;
process
->
utime
=
strtoull
(
location
,
&
location
,
10
);
process
->
utime
=
strtoull
(
location
,
&
location
,
10
);
location
+=
1
;
location
+=
1
;
process
->
stime
=
strtoull
(
location
,
&
location
,
10
);
process
->
stime
=
strtoull
(
location
,
&
location
,
10
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment