View previous topic :: View next topic |
Author |
Message |
fpemud Guru
Joined: 15 Feb 2012 Posts: 349
|
Posted: Sun May 15, 2022 9:26 am Post subject: How to log every state change for a specific process? |
|
|
For modern system which has multi-core CPU, I think my process should always be in RUNNING state until it terminates, since there would always been some idle cores when the system is under very light load. But I find my business process often stucks for one seconds or two on my workstation, maybe it is because this process is waiting for I/O but there's no harddisk r/w in its logic.
Is there any way I can log EVERY state change for this process so that I can make a further anaylze? |
|
Back to top |
|
|
pingtoo l33t
Joined: 10 Sep 2021 Posts: 926 Location: Richmond Hill, Canada
|
Posted: Sun May 15, 2022 1:03 pm Post subject: |
|
|
Have you tried with dev-util/strace? Code: | STRACE(1) General Commands Manual STRACE(1)
NAME
strace - trace system calls and signals
SYNOPSIS
strace [-ACdffhiqqrtttTvVwxxyyzZ] [-I n] [-b execve] [-e expr]...
[-O overhead] [-S sortby] [-U columns] [-a column] [-o file]
[-s strsize] [-X format] [-P path]... [-p pid]...
[--seccomp-bpf] { -p pid | [-DDD] [-E var[=val]]...
[-u username] command [args] }
strace -c [-dfwzZ] [-I n] [-b execve] [-e expr]... [-O overhead]
[-S sortby] [-U columns] [-P path]... [-p pid]...
[--seccomp-bpf] { -p pid | [-DDD] [-E var[=val]]...
[-u username] command [args] }
DESCRIPTION
In the simplest case strace runs the specified command until it exits.
It intercepts and records the system calls which are called by a
process and the signals which are received by a process. The name of
each system call, its arguments and its return value are printed on
standard error or to the file specified with the -o option.
strace is a useful diagnostic, instructional, and debugging tool. Sys‐
tem administrators, diagnosticians and trouble-shooters will find it
invaluable for solving problems with programs for which the source is
not readily available since they do not need to be recompiled in order
to trace them. Students, hackers and the overly-curious will find that
a great deal can be learned about a system and its system calls by
tracing even ordinary programs. And programmers will find that since
system calls and signals are events that happen at the user/kernel in‐
terface, a close examination of this boundary is very useful for bug
isolation, sanity checking and attempting to capture race conditions. |
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|