---
name: "austin"
section: "1"
platform: "linux"
package: "austin"
version: "3.7.0-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/austin"
---

# austin(1)

Frame stack sampler for CPython

## NAME

austin - Frame stack sampler for CPython

## SYNOPSIS

**austin** \[*OPTION*...\] *command* \[*ARG*...\]

## DESCRIPTION

Austin is a frame stack sampler for CPython that is used to extract profiling data out of a running Python process (and all its children, if required) that requires no instrumentation and has practically no impact on the tracee.

- **-b**, **--binary**

  Emit data in the MOJO binary format. See https://github.com/P403n1x87/austin/wiki/The-MOJO-file-format for more details.

- **-C**, **--children**

  Attach to child processes.

- **-f**, **--full**

  Produce the full set of metrics (time +mem **-mem**).

- **-g**, **--gc**

  Sample the garbage collector state.

- **-h**, **--heap**=*n\_mb*

  Maximum heap size to allocate to increase sampling accuracy, in MB (default is 0).

- **-i**, **--interval**=*n\_us*

  Sampling interval in microseconds (default is 100). Accepted units: s, ms, us.

- **-m**, **--memory**

  Profile memory usage.

- **-o**, **--output**=*FILE*

  Specify an output file for the collected samples.

- **-p**, **--pid**=*PID*

  Attach to the process with the given PID.

- **-P**, **--pipe**

  Pipe mode. Use when piping Austin output.

- **-s**, **--sleepless**

  Suppress idle samples to estimate CPU time.

- **-t**, **--timeout**=*n\_ms*

  Start up wait time in milliseconds (default is 100). Accepted units: s, ms.

- **-w**, **--where**=*PID*

  Dump the stacks of all the threads within the process with the given PID.

- **-x**, **--exposure**=*n\_sec*

  Sample for n\_sec seconds only.

- \-?, **--help**

  Give this help list

- **--usage**

  Give a short usage message

- **-V**, **--version**

  Print program version

Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.

## EXAMPLES

Profile wall time of a Python script

$ austin python3 *myscript.py*

Profile CPU time of an executable Python script

$ austin -s *./myscript.py*

Profile a Python application

$ austin *uwsgi* --http :9090 --wsgi-file foobar.py

Profile child processes

$ austin *-C* uwsgi --http :9090 --wsgi-file foobar.py

Attach to a running Python process

\# austin -p *\<pid\>*

Attach to a process and its children

\# austin -Cp *\<pid\>*

Where is a Python process at?

\# austin -w *\<pid\>*

Set the sampling interval

\# austin -i *10ms* -p \<pid\>

Save collected on-CPU samples to file

$ austin -so */path/to/file.austin* ./myscript.py

Sample for 5 seconds only

\# austin -x *5* -p \<pid\>

## REPORTING BUGS

Report bugs to \<https://github.com/P403n1x87/austin/issues\>.

## SEE ALSO

The full documentation for **austin** is maintained as a Texinfo manual.  If the **info** and **austin** programs are properly installed at your site, the command

-

  **info austin**

should give you access to the complete manual.
