Merged Baron's changes

This commit is contained in:
Brian Fraser fraserb@gmail.com
2012-03-30 17:28:53 -03:00
2 changed files with 590 additions and 68 deletions

View File

@@ -1845,7 +1845,7 @@ _semi_sync_stats_for () {
trace_extra="Unknown setting"
fi
fi
name_val "${target} semisync status" "${semisync_status}"
name_val "${target} trace level" "${semisync_trace}, ${trace_extra}"
@@ -1911,9 +1911,9 @@ report_mysql_summary () {
section Instances
parse_mysqld_instances "$dir/mysqld-instances" "$dir/mysql-variables"
section MySQL_Executable
name_val "Path to executable" "$( get_var pt-summary-internal-mysql_executable "$dir/mysql-variables" )"
name_val "Has symbols" "$( get_var "pt-summary-internal-symbols" "$dir/mysql-variables" )"
# TODO section MySQL_Executable
# TODO name_val "Path to executable" "$( get_var pt-summary-internal-mysql_executable "$dir/mysql-variables" )"
# TODO name_val "Has symbols" "$( get_var "pt-summary-internal-symbols" "$dir/mysql-variables" )"
local user="$(get_var "pt-summary-internal-user" "$dir/mysql-variables")"
local port="$(get_var port "$dir/mysql-variables")"
@@ -1969,6 +1969,7 @@ report_mysql_summary () {
section_percona_server_features "$dir/mysql-variables"
section Plugins
# TODO: what would be good is to show nonstandard plugins here.
name_val "InnoDB compression" "$(get_plugin_status "$dir/mysql-plugins" "INNODB_CMP")"
if [ "$(get_var have_query_cache "$dir/mysql-variables")" ]; then
@@ -2054,6 +2055,12 @@ report_mysql_summary () {
else
name_val "Partitioning" "No"
fi
if grep -e 'ENGINE=InnoDB.*ROW_FORMAT' \
-e 'ENGINE=InnoDB.*KEY_BLOCK_SIZE' "$dir/mysqldump" > /dev/null; then
name_val "InnoDB Compression" "Yes"
else
name_val "InnoDB Compression" "No"
fi
fi
local ssl="$(get_var Ssl_accepts "$dir/mysql-status")"
if [ -n "$ssl" -a "${ssl:-0}" -gt 0 ]; then
@@ -2265,7 +2272,7 @@ fi
=head1 NAME
pt-mysql-summary - Summarize MySQL information in a nice way.
pt-mysql-summary - Summarize MySQL information nicely.
=head1 SYNOPSIS
@@ -2286,8 +2293,7 @@ tools) and those created by bugs.
pt-mysql-summary is a read-only tool. It should be very low-risk.
At the time of this release, we know of no bugs that could cause serious harm
to users.
At the time of this release, we know of no bugs that could harm users.
The authoritative source for updated information is always the online issue
tracking system. Issues that affect this tool will be marked as such. You can
@@ -2303,30 +2309,387 @@ it for status and configuration information. It saves these bits of data
into files in a temporary directory, and then formats them neatly with awk
and other scripting languages.
To use, simply execute it. Optionally add the same command-line options
you would use to connect to MySQL, like C<pt-mysql-summary --user=foo>.
To use, simply execute it. Optionally add a double dash and then the same
command-line options you would use to connect to MySQL, such as the following:
pt-mysql-summary -- --user=root
The tool interacts minimally with the server upon which it runs. It assumes
that you'll run it on the same server you're inspecting, and therefore it
assumes that it will be able to find the my.cnf configuration file, for
example. However, it should degrade gracefully if this is not the case.
Note, however, that its output does not indicate which information comes from
the MySQL database and which comes from the host operating system, so it is
possible for confusing output to be generated if you run the tool on one
server and direct it to connect to a MySQL database server running on another
server.
assumes that it will be able to find the my.cnf configuration file, for example.
However, it should degrade gracefully if this is not the case. Note, however,
that its output does not indicate which information comes from the MySQL
database and which comes from the host operating system, so it is possible for
confusing output to be generated if you run the tool on one server and connect
to a MySQL database server running on another server.
=head1 Fuzzy-Rounding
=head1 OUTPUT
Many of the outputs from this tool are deliberately rounded to show their
magnitude but not the exact detail. This is called fuzzy-rounding. The idea
is that it doesn't matter whether a server is running 918 queries per second
is that it does not matter whether a server is running 918 queries per second
or 921 queries per second; such a small variation is insignificant, and only
makes the output hard to compare to other servers. Fuzzy-rounding rounds in
larger increments as the input grows. It begins by rounding to the nearest 5,
then the nearest 10, nearest 25, and then repeats by a factor of 10 larger
(50, 100, 250), and so on, as the input grows.
The following is a sample of the report that the tool produces:
# Percona Toolkit MySQL Summary Report #######################
System time | 2012-03-30 18:46:05 UTC
(local TZ: EDT -0400)
# Instances ##################################################
Port Data Directory Nice OOM Socket
===== ========================== ==== === ======
12345 /tmp/12345/data 0 0 /tmp/12345.sock
12346 /tmp/12346/data 0 0 /tmp/12346.sock
12347 /tmp/12347/data 0 0 /tmp/12347.sock
The first two sections show which server the report was generated on and which
MySQL instances are running on the server. This is detected from the output of
C<ps> and does not always detect all instances and parameters, but often works
well. From this point forward, the report will be focused on a single MySQL
instance, although several instances may appear in the above paragraph.
# Report On Port 12345 #######################################
User | msandbox@%
Time | 2012-03-30 14:46:05 (EDT)
Hostname | localhost.localdomain
Version | 5.5.20-log MySQL Community Server (GPL)
Built On | linux2.6 i686
Started | 2012-03-28 23:33 (up 1+15:12:09)
Databases | 4
Datadir | /tmp/12345/data/
Processes | 2 connected, 2 running
Replication | Is not a slave, has 1 slaves connected
Pidfile | /tmp/12345/data/12345.pid (exists)
This section is a quick summary of the MySQL instance: version, uptime, and
other very basic parameters. The Time output is generated from the MySQL server,
unlike the system date and time printed earlier, so you can see whether the
database and operating system times match.
# Processlist ################################################
Command COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
Binlog Dump 1 1 150000 150000
Query 1 1 0 0
User COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
msandbox 2 2 150000 150000
Host COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
localhost 2 2 150000 150000
db COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
NULL 2 2 150000 150000
State COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
Master has sent all binlog to 1 1 150000 150000
NULL 1 1 0 0
This section is a summary of the output from SHOW PROCESSLIST. Each sub-section
is aggregated by a different item, which is shown as the first column heading.
When summarized by Command, every row in SHOW PROCESSLIST is included, but
otherwise, rows whose Command is Sleep are excluded from the SUM and MAX
columns, so they do not skew the numbers too much. In the example shown, the
server is idle except for this tool itself, and one connected replica, which
is executing Binlog Dump.
The columns are the number of rows included, the number that are not in Sleep
status, the sum of the Time column, and the maximum Time column. The numbers are
fuzzy-rounded.
# Status Counters (Wait 10 Seconds) ##########################
Variable Per day Per second 10 secs
Binlog_cache_disk_use 4
Binlog_cache_use 80
Bytes_received 15000000 175 200
Bytes_sent 15000000 175 2000
Com_admin_commands 1
...................(many lines omitted)............................
Threads_created 40 1
Uptime 90000 1 1
This section shows selected counters from two snapshots of SHOW GLOBAL STATUS,
gathered approximately 10 seconds apart and fuzzy-rounded. It includes only
items that are incrementing counters; it does not include absolute numbers such
as the Threads_running status variable, which represents a current value, rather
than an accumulated number over time.
The first column is the variable name, and the second column is the counter from
the first snapshot divided by 86400 (the number of seconds in a day), so you can
see the magnitude of the counter's change per day. 86400 fuzzy-rounds to 90000,
so the Uptime counter should always be about 90000.
The third column is the value from the first snapshot, divided by Uptime and
then fuzzy-rounded, so it represents approximately how quickly the counter is
growing per-second over the uptime of the server.
The third column is the incremental difference from the first and second
snapshot, divided by the difference in uptime and then fuzzy-rounded. Therefore,
it shows how quickly the counter is growing per second at the time the report
was generated.
# Table cache ################################################
Size | 400
Usage | 15%
This section shows the size of the table cache, followed by the percentage of
the table cache in use. The usage is fuzzy-rounded.
# Key Percona Server features ################################
Table & Index Stats | Not Supported
Multiple I/O Threads | Enabled
Corruption Resilient | Not Supported
Durable Replication | Not Supported
Import InnoDB Tables | Not Supported
Fast Server Restarts | Not Supported
Enhanced Logging | Not Supported
Replica Perf Logging | Not Supported
Response Time Hist. | Not Supported
Smooth Flushing | Not Supported
HandlerSocket NoSQL | Not Supported
Fast Hash UDFs | Unknown
This section shows features that are available in Percona Server and whether
they are enabled or not. In the example shown, the server is standard MySQL, not
Percona Server, so the features are generally not supported.
# Plugins ####################################################
InnoDB compression | ACTIVE
This feature shows specific plugins and whether they are enabled.
# Query cache ################################################
query_cache_type | ON
Size | 0.0
Usage | 0%
HitToInsertRatio | 0%
This section shows whether the query cache is enabled and its size, followed by
the percentage of the cache in use and the hit-to-insert ratio. The latter two
are fuzzy-rounded.
# Schema #####################################################
Would you like to mysqldump -d the schema and analyze it? y/n y
There are 4 databases. Would you like to dump all, or just one?
Type the name of the database, or press Enter to dump all of them.
Database Tables Views SPs Trigs Funcs FKs Partn
mysql 24
performance_schema 17
sakila 16 7 3 6 3 22
Database MyISAM CSV PERFORMANCE_SCHEMA InnoDB
mysql 22 2
performance_schema 17
sakila 8 15
Database BTREE FULLTEXT
mysql 31
performance_schema
sakila 63 1
c t s e l d i t m v s
h i e n o a n i e a m
a m t u n t t n d r a
r e m g e y i c l
s b t i u h l
t l i n m a i
a o m t t r n
m b e e t
p x
t
Database === === === === === === === === === === ===
mysql 61 10 6 78 5 4 26 3 4 5 3
performance_schema 5 16 33
sakila 1 15 1 3 4 3 19 42 26
If you select to dump the schema and analyze it, the tool will print the above
section. This summarizes the number and type of objects in the database. It is
generated by running C<mysqldump --no-data>, not by querying the
INFORMATION_SCHEMA, which can freeze a busy server. You can use the
L<"--databases"> option to specify which databases to examine. If you do not,
and you run the tool interactively, it will prompt you as shown.
You can choose not to dump the schema, to dump all of the databases, or to dump
only a single named one, by specifying the appropriate options. In the example
above, we are dumping all databases.
The first sub-report in the section is the count of objects by type in each
database: tables, views, and so on. The second one shows how many tables use
various storage engines in each database. The third sub-report shows the number
of each type of indexes in each database.
The last section shows the number of columns of various data types in each
database. For compact display, the column headers are formatted vertically, so
you need to read downwards from the top. In this example, the first column is
C<char> and the second column is C<timestamp>. This example is truncated so it
does not wrap on a terminal.
All of the numbers in this portion of the output are exact, not fuzzy-rounded.
# Noteworthy Technologies ####################################
Full Text Indexing | Yes
Geospatial Types | No
Foreign Keys | Yes
Partitioning | No
InnoDB Compression | Yes
SSL | No
Explicit LOCK TABLES | No
Delayed Insert | No
XA Transactions | No
NDB Cluster | No
Prepared Statements | No
Prepared statement count | 0
This section shows some specific technologies used on this server. Some of them
are detected from the schema dump performed for the previous sections; others
can be detected by looking at SHOW GLOBAL STATUS.
# InnoDB #####################################################
Version | 1.1.8
Buffer Pool Size | 16.0M
Buffer Pool Fill | 100%
Buffer Pool Dirty | 0%
File Per Table | OFF
Page Size | 16k
Log File Size | 2 * 5.0M = 10.0M
Log Buffer Size | 8M
Flush Method |
Flush Log At Commit | 1
XA Support | ON
Checksums | ON
Doublewrite | ON
R/W I/O Threads | 4 4
I/O Capacity | 200
Thread Concurrency | 0
Concurrency Tickets | 500
Commit Concurrency | 0
Txn Isolation Level | REPEATABLE-READ
Adaptive Flushing | ON
Adaptive Checkpoint |
Checkpoint Age | 0
InnoDB Queue | 0 queries inside InnoDB, 0 queries in queue
Oldest Transaction | 0 Seconds
History List Len | 209
Read Views | 1
Undo Log Entries | 1 transactions, 1 total undo, 1 max undo
Pending I/O Reads | 0 buf pool reads, 0 normal AIO,
0 ibuf AIO, 0 preads
Pending I/O Writes | 0 buf pool (0 LRU, 0 flush list, 0 page);
0 AIO, 0 sync, 0 log IO (0 log, 0 chkp);
0 pwrites
Pending I/O Flushes | 0 buf pool, 0 log
Transaction States | 1xnot started
This section shows important configuration variables for the InnoDB storage
engine. The buffer pool fill percent and dirty percent are fuzzy-rounded. The
last few lines are derived from the output of SHOW INNODB STATUS. It is likely
that this output will change in the future to become more useful.
# MyISAM #####################################################
Key Cache | 16.0M
Pct Used | 10%
Unflushed | 0%
This section shows the size of the MyISAM key cache, followed by the percentage
of the cache in use and percentage unflushed (fuzzy-rounded).
# Security ###################################################
Users | 2 users, 0 anon, 0 w/o pw, 0 old pw
Old Passwords | OFF
This section is generated from queries to tables in the mysql system database.
It shows how many users exist, and various potential security risks such as
old-style passwords and users without passwords.
# Binary Logging #############################################
Binlogs | 1
Zero-Sized | 0
Total Size | 21.8M
binlog_format | STATEMENT
expire_logs_days | 0
sync_binlog | 0
server_id | 12345
binlog_do_db |
binlog_ignore_db |
This section shows configuration and status of the binary logs. If there are
zero-sized binary logs, then it is possible that the binlog index is out of sync
with the binary logs that actually exist on disk.
# Noteworthy Variables #######################################
Auto-Inc Incr/Offset | 1/1
default_storage_engine | InnoDB
flush_time | 0
init_connect |
init_file |
sql_mode |
join_buffer_size | 128k
sort_buffer_size | 2M
read_buffer_size | 128k
read_rnd_buffer_size | 256k
bulk_insert_buffer | 0.00
max_heap_table_size | 16M
tmp_table_size | 16M
max_allowed_packet | 1M
thread_stack | 192k
log | OFF
log_error | /tmp/12345/data/mysqld.log
log_warnings | 1
log_slow_queries | ON
log_queries_not_using_indexes | OFF
log_slave_updates | ON
This section shows several noteworthy server configuration variables that might
be important to know about when working with this server.
# Configuration File #########################################
Config File | /tmp/12345/my.sandbox.cnf
[client]
user = msandbox
password = msandbox
port = 12345
socket = /tmp/12345/mysql_sandbox12345.sock
[mysqld]
port = 12345
socket = /tmp/12345/mysql_sandbox12345.sock
pid-file = /tmp/12345/data/mysql_sandbox12345.pid
basedir = /home/baron/5.5.20
datadir = /tmp/12345/data
key_buffer_size = 16M
innodb_buffer_pool_size = 16M
innodb_data_home_dir = /tmp/12345/data
innodb_log_group_home_dir = /tmp/12345/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_file_size = 5M
log-bin = mysql-bin
relay_log = mysql-relay-bin
log_slave_updates
server-id = 12345
report-host = 127.0.0.1
report-port = 12345
log-error = mysqld.log
innodb_lock_wait_timeout = 3
# The End ####################################################
This section shows a pretty-printed version of the my.cnf file, with comments
removed and with whitespace added to align things for easy reading. The tool
tries to detect the my.cnf file by looking at the output of ps, and if it does
not find the location of the file there, it tries common locations until it
finds a file. Note that this file might not actually correspond with the server
from which the report was generated. This can happen when the tool isn't run on
the same server it's reporting on, or when detecting the location of the
configuration file fails.
=head1 OPTIONS
All options after -- are passed to C<mysql>.
@@ -2360,10 +2723,9 @@ Create a report from the files found in this directory.
type: string
Names of databases to dump through myslqdump. If you want all of them,
you can use --all-databases; you can also pass in a comma-separated list
of database names. If not provided, the program will ask you
for manual input.
Names of databases to summarize. If you want all of them, you can use the value
C<--all-databases>; you can also pass in a comma-separated list of database
names. If not provided, the program will ask you for manual input.
=item --sleep

View File

@@ -1754,34 +1754,11 @@ parse_lsi_megaraid_bbu_status () { local PTFUNCNAME=parse_lsi_megaraid_bbu_statu
}
format_lvs () { local PTFUNCNAME=format_lvs;
local lvs_file="$1"
local vgs_file="$2"
local lvs_errors="$3"
if [ -e "$lvs_file" -a -e "$vgs_file" ]; then
local header="$(head -n1 "$lvs_file")$(head -n1 "$vgs_file" | sed -e 's/^ *VG//')"
echo "$header"
tail -n+2 "$lvs_file" | while read lvs_line; do
local current_vg="$(echo $lvs_line | awk '{print $2}')"
while read vgs_line; do
local current_vgs_vg="$(echo $vgs_line | awk '{print $1}' )"
if [ "$current_vg" = "$current_vgs_vg" ]; then
lvs_line="${lvs_line}$(echo $vgs_line | sed -e "s/^ *$current_vg//")"
break
fi
done < "$vgs_file"
echo $lvs_line
done
local file="$1"
if [ -e "$file" ]; then
grep -v "open failed" "$file"
else
if [ -e "$lvs_file" ]; then
cat "$lvs_file"
elif [ -e "$lvs_errors" ]; then
echo "lvs didn't output anything and had the following errors:"
cat "$lvs_errors"
else
echo "Cannot execute 'lvs'";
fi
echo "Unable to collect information";
fi
}
@@ -2066,7 +2043,9 @@ report_system_summary () { local PTFUNCNAME=report_system_summary;
done
section "LVM_Volumes"
format_lvs "$data_dir/lvs" "$data_dir/vgs" "$data_dir/lvs.stderr"
format_lvs "$data_dir/lvs"
section "LVM_Volume_Groups"
format_lvs "$data_dir/vgs"
fi
section "RAID_Controller"
@@ -2180,16 +2159,14 @@ sigtrap() { local PTFUNCNAME=sigtrap;
# Execute the program if it was not included from another file. This makes it
# possible to include without executing, and thus test.
# Execute the program if it was not included from another file.
# This makes it possible to include without executing, and thus test.
if [ "${0##*/}" = "$TOOL" ] \
|| [ "${0##*/}" = "bash" -a "$_" = "$0" ]; then
# Set up temporary dir.
mk_tmpdir
# Parse command line options.
parse_options $0 "$@"
usage_or_errors $0
parse_options "$0" "$@"
usage_or_errors "$0"
po_status=$?
rm_tmpdir
@@ -2209,7 +2186,7 @@ fi
=head1 NAME
pt-summary - Summarize system information in a nice way.
pt-summary - Summarize system information nicely.
=head1 SYNOPSIS
@@ -2218,17 +2195,13 @@ Usage: pt-summary
pt-summary conveniently summarizes the status and configuration of a server.
It is not a tuning tool or diagnosis tool. It produces a report that is easy
to diff and can be pasted into emails without losing the formatting. This
tool works well on Linux systems.
tool works well on many types of Unix systems.
Download and run:
wget http://percona.com/get/pt-summary
bash ./pt-summary
Download and run in a single step:
wget -O- http://percona.com/get/summary | bash
=head1 RISKS
The following section is included to inform users about the potential risks,
@@ -2238,8 +2211,7 @@ tools) and those created by bugs.
pt-summary is a read-only tool. It should be very low-risk.
At the time of this release, we know of no bugs that could cause serious harm
to users.
At the time of this release, we know of no bugs that could harm users.
The authoritative source for updated information is always the online issue
tracking system. Issues that affect this tool will be marked as such. You can
@@ -2256,6 +2228,194 @@ then runs Unix commands on these results to format them nicely. It works
best when executed as a privileged user, but will also work without privileges,
although some output might not be possible to generate without root.
=head1 OUTPUT
Many of the outputs from this tool are deliberately rounded to show their
magnitude but not the exact detail. This is called fuzzy-rounding. The idea is
that it doesn't matter whether a particular counter is 918 or 921; such a small
variation is insignificant, and only makes the output hard to compare to other
servers. Fuzzy-rounding rounds in larger increments as the input grows. It
begins by rounding to the nearest 5, then the nearest 10, nearest 25, and then
repeats by a factor of 10 larger (50, 100, 250), and so on, as the input grows.
The following is a simple report generated from a CentOS virtual machine,
broken into sections with commentary following each section. Some long lines
are reformatted for clarity when reading this documentation as a manual page in
a terminal.
# Percona Toolkit System Summary Report ######################
Date | 2012-03-30 00:58:07 UTC (local TZ: EDT -0400)
Hostname | localhost.localdomain
Uptime | 20:58:06 up 1 day, 20 min, 1 user,
load average: 0.14, 0.18, 0.18
System | innotek GmbH; VirtualBox; v1.2 ()
Service Tag | 0
Platform | Linux
Release | CentOS release 5.5 (Final)
Kernel | 2.6.18-194.el5
Architecture | CPU = 32-bit, OS = 32-bit
Threading | NPTL 2.5
Compiler | GNU CC version 4.1.2 20080704 (Red Hat 4.1.2-48).
SELinux | Enforcing
Virtualized | VirtualBox
This section shows the current date and time, and a synopsis of the server and
operating system.
# Processor ##################################################
Processors | physical = 1, cores = 0, virtual = 1, hyperthreading = no
Speeds | 1x2510.626
Models | 1xIntel(R) Core(TM) i5-2400S CPU @ 2.50GHz
Caches | 1x6144 KB
This section is derived from F</proc/cpuinfo>.
# Memory #####################################################
Total | 503.2M
Free | 29.0M
Used | physical = 474.2M, swap allocated = 1.0M,
swap used = 16.0k, virtual = 474.3M
Buffers | 33.9M
Caches | 262.6M
Dirty | 396 kB
UsedRSS | 201.9M
Swappiness | 60
DirtyPolicy | 40, 10
Locator Size Speed Form Factor Type Type Detail
======= ==== ===== =========== ==== ===========
Information about memory is gathered from C<free>. The Used statistic is the
total of the rss sizes displayed by C<ps>. The Dirty statistic for the cached
value comes from F</proc/meminfo>. On Linux, the swappiness settings are
gathered from C<sysctl>. The final portion of this section is a table of the
DIMMs, which comes from C<dmidecode>. In this example there is no output.
# Mounted Filesystems ########################################
Filesystem Size Used Type Opts Mountpoint
/dev/mapper/VolGroup00-LogVol00 15G 17% ext3 rw /
/dev/sda1 99M 13% ext3 rw /boot
tmpfs 252M 0% tmpfs rw /dev/shm
The mounted filesystem section is a combination of information from C<mount> and
C<df>. This section is skipped if you disable L<"--summarize-mounts">.
# Disk Schedulers And Queue Size #############################
dm-0 | UNREADABLE
dm-1 | UNREADABLE
hdc | [cfq] 128
md0 | UNREADABLE
sda | [cfq] 128
The disk scheduler information is extracted from the F</sys> filesystem in
Linux.
# Disk Partioning ############################################
Device Type Start End Size
============ ==== ========== ========== ==================
/dev/sda Disk 17179869184
/dev/sda1 Part 1 13 98703360
/dev/sda2 Part 14 2088 17059230720
Information about disk partitioning comes from C<fdisk -l>.
# Kernel Inode State #########################################
dentry-state | 10697 8559 45 0 0 0
file-nr | 960 0 50539
inode-nr | 14059 8139
These lines are from the files of the same name in the F</proc/sys/fs>
directory on Linux. Read the C<proc> man page to learn about the meaning of
these files on your system.
# LVM Volumes ################################################
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
LogVol00 VolGroup00 -wi-ao 269.00G
LogVol01 VolGroup00 -wi-ao 9.75G
This section shows the output of C<lvs>.
# RAID Controller ############################################
Controller | No RAID controller detected
The tool can detect a variety of RAID controllers by examining C<lspci> and
C<dmesg> information. If the controller software is installed on the system, in
many cases it is able to execute status commands and show a summary of the RAID
controller's status and configuration. If your system is not supported, please
file a bug report.
# Network Config #############################################
Controller | Intel Corporation 82540EM Gigabit Ethernet Controller
FIN Timeout | 60
Port Range | 61000
The network controllers attached to the system are detected from C<lspci>. The
TCP/IP protocol configuration parameters are extracted from C<sysctl>. You can skip this section by disabling the L<"--summarize-network"> option.
# Interface Statistics #######################################
interface rx_bytes rx_packets rx_errors tx_bytes tx_packets tx_errors
========= ======== ========== ========= ======== ========== =========
lo 60000000 12500 0 60000000 12500 0
eth0 15000000 80000 0 1500000 10000 0
sit0 0 0 0 0 0 0
Interface statistics are gathered from C<ip -s link> and are fuzzy-rounded. The
columns are received and transmitted bytes, packets, and errors. You can skip
this section by disabling the L<"--summarize-network"> option.
# Network Connections ########################################
Connections from remote IP addresses
127.0.0.1 2
Connections to local IP addresses
127.0.0.1 2
Connections to top 10 local ports
38346 1
60875 1
States of connections
ESTABLISHED 5
LISTEN 8
This section shows a summary of network connections, retrieved from C<netstat>
and "fuzzy-rounded" to make them easier to compare when the numbers grow large.
There are two sub-sections showing how many connections there are per origin
and destination IP address, and a sub-section showing the count of ports in
use. The section ends with the count of the network connections' states. You
can skip this section by disabling the L<"--summarize-network"> option.
# Top Processes ##############################################
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 15 0 2072 628 540 S 0.0 0.1 0:02.55 init
2 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.03 ksoftirqd/0
4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
5 root 10 -5 0 0 0 S 0.0 0.0 0:00.97 events/0
6 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 khelper
7 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kthread
10 root 10 -5 0 0 0 S 0.0 0.0 0:00.13 kblockd/0
11 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid
# Notable Processes ##########################################
PID OOM COMMAND
2028 +0 sshd
This section shows the first few lines of C<top> so that you can see what
processes are actively using CPU time. The notable processes include the SSH
daemon and any process whose out-of-memory-killer priority is set to 17. You
can skip this section by disabling the L<"--summarize-processes"> option.
# Simplified and fuzzy rounded vmstat (wait please) ##########
procs ---swap-- -----io---- ---system---- --------cpu--------
r b si so bi bo ir cs us sy il wa st
2 0 0 0 3 15 30 125 0 0 99 0 0
0 0 0 0 0 0 1250 800 6 10 84 0 0
0 0 0 0 0 0 1000 125 0 0 100 0 0
0 0 0 0 0 0 1000 125 0 0 100 0 0
0 0 0 0 0 450 1000 125 0 1 88 11 0
# The End ####################################################
This section is a trimmed-down sample of C<vmstat 1 5>, so you can see the
general status of the system at present. The values in the table are
fuzzy-rounded, except for the CPU columns. You can skip this section by
disabling the L<"--summarize-processes"> option.
=head1 OPTIONS
=over
@@ -2275,37 +2435,37 @@ Print help and exit.
type: string
Save the data files used to generate the summary in this directory.
Save the collected data in this directory.
=item --read-samples
type: string
Create a report from the files found in this directory.
Create a report from the files in this directory.
=item --summarize-mounts
default: yes; negatable: yes
Whenever the tool summarizes mounted filesystems and disk fullness.
Report on mounted filesystems and disk usage.
=item --summarize-network
default: yes; negatable: yes
Whenever the tool prints information on network controllers & config.
Report on network controllers and configuration.
=item --summarize-processes
default: yes; negatable: yes
Whenever the tool summarizes the top processes and vmstat information.
Report on top processes and C<vmstat> output.
=item --sleep
type: int; default: 5
How much time to sleep when gathering samples from vmstat.
How long to sleep when gathering samples from vmstat.
=item --version