| #!/bin/bash |
| # Copyright 2021 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| #### CATEGORY=Diagnostic |
| ### invoke mem tool on target device |
| ## |
| ## Usage: mem [options] |
| ## Prints system-wide task and memory |
| ## |
| ## Memory numbers are triplets P,S,T |
| ## P: Private bytes |
| ## S: Total bytes scaled by 1/# processes sharing each byte |
| ## T: Total bytes |
| ## S and T are inclusive of P |
| ## |
| ## Options: |
| ## [default] Human readable representation of process and vmo groups |
| ## --trace Enable tracing support |
| ## --print Machine readable representation of proccess and vmos |
| ## --output CSV of process memory |
| ## --repeat=N Runs forever, outputing every N seconds |
| ## --pid=N Output vmo groups of process pid instead |
| ## --digest Prints a bucketized digest of memory usage |
| ## --signal=L Signal userspace clients with memory pressure level L |
| ## where L can be CRITICAL, WARNING or NORMAL. Clients can |
| ## use this command to test their response to memory pressure. |
| ## Does not affect the real memory pressure level on the system, |
| ## or trigger any kernel memory reclamation tasks. |
| |
| source "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/lib/vars.sh || exit $? |
| fx-config-read |
| |
| case $1 in |
| -h|--help) |
| fx-command-help |
| exit 0 |
| ;; |
| esac |
| |
| # TODO(fxbug.dev/82782): Support stdout/stderr in ffx component run |
| # If/when the bug above is fixed, uncomment the line below with `run` and delete |
| # the line below it with `run-legacy`. |
| # fx-command-run ffx component run fuchsia-pkg://fuchsia.com/mem#meta/mem.cm -- "$@" |
| fx-command-run ffx component run-legacy fuchsia-pkg://fuchsia.com/mem#meta/mem.cmx -- "$@" |