1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-15 06:24:58 +00:00
serenity/Base/usr/share/man/man1/profile.md
kleines Filmröllchen afaea38be2 Base: Expand "See Also" sections of many manpages
This commit focuses on the CLI utilities.
2023-07-06 10:03:48 +01:00

45 lines
1.1 KiB
Markdown

## Name
profile - Process or system profiler
## Synopsis
```**sh
$ profile [-p PID] [-a] [-e] [-d] [-f] [-w] [-t event_type] [COMMAND_TO_PROFILE]
```
## Description
`profile` records profiling information that can then be read with `ProfileViewer`.
## Options
* `-p PID`: Target PID
* `-a`: Profile all processes (super-user only), result at /sys/kernel/profile
* `-e`: Enable
* `-d`: Disable
* `-f`: Free the profiling buffer for the associated process(es).
* `-w`: Enable profiling and wait for user input to disable.
* `-t event_type`: Enable tracking specific event type
Event type can be one of: sample, context_switch, page_fault, syscall, read, kmalloc and kfree.
## Examples
```sh
# Enable whole-system profiling
$ profile -ae
# ...then, to stop
$ profile -ad
# Profile a running process, with PID 42
$ profile -p 42
# Profile syscalls made by echo
$ profile -t syscall -- echo "Hello friends!"
```
## See also
* [`Profiler`(1)](help://man/1/Applications/Profiler) GUI for viewing profiling data produced by `profile`.
* [`strace`(1)](help://man/1/strace)