gerrit show-caches
===================

NAME
----
gerrit show-caches - Display current cache statistics

SYNOPSIS
--------
[verse]
'ssh' -p <port> <host> 'gerrit show-caches'

DESCRIPTION
-----------
Display statistics about the size and hit ratio of in-memory caches.

ACCESS
------
Caller must be a member of the privileged 'Administrators' group.

SCRIPTING
---------
Intended for interactive use only.

EXAMPLES
--------

====
	$ ssh -p 29418 review.example.com gerrit show-caches
	  Name               Max |Object Count        |  AvgGet  |Hit Ratio     |
	                     Age |  Disk    Mem    Cnt|          |Disk Mem  Agg |
	-------------------------+--------------------+----------+--------------+
	  accounts           90d |                 295|          |           99%|
	  accounts_byemail   90d |                 109|          |           97%|
	D diff               90d |  2695    128   2707|   0.4ms  | 11%  86%  98%|
	  groups             90d |                  94|          |           80%|
	  openid             5m  |                  30|   0.4ms  |            9%|
	  projects           90d |                 188|          |           99%|
	  sshkeys            90d |                   9|          |           94%|
	D web_sessions       12h |           30     30|          |  0%  99%  99%|

	JGit Buffer Cache:
	  open files  :              23
	  loaded      :   6.82 mb
	  mem%        :   2%

	JVM Heap:
	  max         : 880.00 mb
	  inuse       : 136.57 mb
	  mem%        :  44%
====

SEE ALSO
--------

* link:cmd-flush-caches.html[gerrit flush-caches]
* link:config-gerrit.html#cache[Cache Configuration]
* link:config-gerrit.html#cache_names[Standard Caches]

GERRIT
------
Part of link:index.html[Gerrit Code Review]
