.
JWM / Linux is delivered in a compressed tar archive.
The name of the tar archive is
jwml_<archive_version>_<distname>_<distrelease>_<cpu_architecture>_<date>.tar.gz
e.g.
jwml_v100_Mint_14_Nadia_3.5.0-17-generic_x86_64_2013-10-26.tar.gz
This is JWM / Linux version v1.0.0 compiled under "MINT 14
Nadia" with kernel patch "3.5.0-17" for "x86_64" created on
"2013/10/26".
or
jwml_v226_Fedora_release_23_(Twenty_Three)_4.7.7-100.fc23.x86_64_x86_64_2016-10-26.tar.gz
This is JWM / Linux version 2.2.6 compiled under "Fedora release
23_(Twenty Three)" with kernel patch "4.7.7-100" for "x86_64"
created on "2016/10/26".
To
use JWM / Linux download the
tar file for your distribution and unpack it using tar with
the options
-xzf in an empty directory.
If there is no archive with precompiled binaries for your
distribution just
compile the
sources yourself.
Note:
Some of the tools included need a fixed target location while
building the binaries. To make sure that every user can install
the tools the target directory used for the precompiled binaries
is
/var/tmp/jwm (/var/tmp is writable by everyone on a
Linux machine). Therefor you should install the precompiled
tools into the directory
/var/tmp/jwm to be sure that
all included binaries work.
This directory is called
${JWM_DIR} or
JWM_DIR
in the rest of this document.
To change the target location you should
compile the tools.
The tools in JWM / Linux should run on every modern 64 Bit Linux
for x86 . Not so
common
libraries used by the tools are included in the archive.
In addition, the source code for the tools is included in the
archive (if available) so that you can
create your own binaries.
The script to execute the compile tools is written in ksh --
therefor
/bin/ksh is required to compile the tools.
Some make scripts expect the executable
sed to be in
/usr/bin
but in new Linux distributions sed is in
/bin. To get
around this issue just create a symoblic link:
sudo ln -s /bin/sed /usr/bin/sed
The same is true for
mkdir:
sudo ln -s /bin/mkdir /usr/bin/mkdir
The make scripts from some tools require
/usr/bin/python.
If /usr/bin/python does not exist anymore in a Linux
distribution please create a symbolic link, e.g.:
sudo ln -s /usr/bin/python3 /usr/bin/python
To compile the tools the necessary compile tools (gcc, g++, c++,
make, bison, flex, yacc) , the kernel headers, and some library
header files must be installed.
If the configure script for a tool fails just check the output
of the configure script for missing header files, install them,
and restart compiling.
You may use the script
./compile_scripts/
add_os_packages.sh to install the missing OS
packages for the supported Linux distributions.
The environment is written for bash or ksh.
See also the notes for the tools in the
table with the
descriptions and the
Hints for Compiling the
tools below.
Some of the tools require a recent version of
gcc to
compile. Therefor you should update the
gcc before
compiling the tools.
example:
To update the
gcc on Centos 6.x do
sudo yum install centos-release-scl
sudo yum update
sudo yum install devtoolset-7-gcc-c++
Result:
[xtrnaw7@centos69 ~]$ gcc --version | head -1
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
[xtrnaw7@centos69 ~]$
<
[xtrnaw7@centos69 ~]$ scl --list
devtoolset-7
[xtrnaw7@centos69 ~]$
[xtrnaw7@centos69 ~]$ scl enable devtoolset-7 bash
[xtrnaw7@centos69 ~]$
[xtrnaw7@centos69 ~]$ gcc --version | head -1
gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
[xtrnaw7@centos69 ~]$
To update the
gcc in CentOS 7.xdo
sudo yum install centos-release-scl
sudo yum install centos-release-scl
sudo yum install devtoolset-7-gcc-c++
scl enable devtoolset-7 bash
Result:
[xtrnaw7@centos7 compile_scripts]$ scl enable
devtoolset-7 bash
[xtrnaw7@centos7 compile_scripts]$ gcc --version
gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying
conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
[xtrnaw7@centos7 compile_scripts]$
Some of the required libraries are probably not in the standard
enabled repositories configured in some distribiutions, e.g:
The package libunistring-devel is in the base repository in
CentOS 7.x but in
CentOS 8.x it's in the
additional repository
powertools. Therefor to install
the package either enable the repository
powertools
permanent or install the a package using the command:
sudo dnf --enablerepo=powertools install
libunistring-devel
JWM / Linux was compiled on these Linux Distributions:
JWM Version
|
Date
|
Linux Distribution
|
Kernel version |
gcc version |
Supported by
add_os_packages? |
Comment
|
2.9.0
|
09.03.2024 |
Fedora 39
|
6.7.5
|
gcc (GCC) 13.2.1 20231205 (Red Hat
13.2.1-6)
|
yes
|
all packages can be compiled
This is the main distribution for development
|
2.9.0 |
09.03.2024 |
CentOS 9 Stream
|
5.14.0
|
gcc (GCC) 11.4.1 20231218 (Red Hat
11.4.1-3)
|
yes
|
all packages can be compiled
The epel repositories are necessary to install all
packages required to compile the tools
|
2.9.0 |
09.03.2024 |
CentOS 8 Stream
|
4.18.0
|
gcc (GCC) 8.5.0 20210514 (Red Hat
8.5.0-21)
|
yes
|
all packages can be compiled
The epel repositories are necessary to install all
packages required to compile the tools |
2.9.0 |
09.03.2024 |
CentOS 7
|
3.10.0
|
gcc (GCC) 7.3.1 20180303 (Red Hat
7.3.1-5)
|
yes
|
some
tools do not compile anymore with the standard gcc in
CentOS 7.x
Therefor I installed and used the GCC v7 (see Required GCC version)
all packagescan be compiled with the GCC v7.x
The current version of procdump does not compile in
CentOS 7.x therefor the script compiles procdump version
1.4
The epel repositories are necessary to install all
packages required to compile the tools
|
2.9.0 |
09.03.2024 |
CentOS 6.10
|
2.6.32
|
gcc (GCC) 7.3.1 20180303 (Red Hat
7.3.1-5)
|
yes
|
some
tools do not compile anymore with the standard gcc in
Centos 6.x
Therefor I installed and used the GCC v7 (see Required GCC version)
most of the packages can be compiled with the GCC
v7.x except these ones:
health-check
(kernel not supported)
fnotifystat (kernel not
supported)
fsmon
(kernel not supported)
dnscap
(necessary libraries missing)
justniffer must be compiled
manually -- see here
The current version of nmap does not compile in
CentOS 6.x - the script will therefor compile nmap v7.70
The current version of procdump does not compile in
Centos 6.10 therefor the script compiles procdump
version 1.1.1.
Some tools do not compile in OS with kernel 2.x anymore
-- for details see here
The epel repositories are necessary to install all
packages required to compile the tools
|
2.9.0 |
09.03.2024 |
AlmaLinux 9
RockyLinux 9
(= RHEL 9.x) |
5.14.0
|
gcc (GCC) 11.4.1 20230605 (Red Hat
11.4.1-2)
|
yes
|
The epel repositories are necessary to
install all packages required to compile the tools |
2.9.0 |
09.03.2024 |
AlmaLinux 8
RockyLinux 8
(= RHEL 8.x)
|
4.18.0
|
gcc (GCC) 8.5.0 20210514 (Red Hat
8.5.0-20)
|
yes
|
The epel repositories are necessary to
install all packages required to compile the tools |
|
|
|
|
|
|
|
2.9.0 |
09.03.2024 |
Debian 10 |
4.19.0
|
gcc (Debian 8.3.0-6) 8.3.0
|
yes
|
all packages can be compiled,
The current version of procdump does not compile in
OpenSUSE Leap 15.2 therefor the script compiles procdump
version 1.4
|
2.9.0 |
09.03.2024 |
Debian 11
|
5.10.0<f
|
gcc (Debian 10.2.1-6) 10.2.1 20210110
|
yes
|
all packages can be compiled
iftop
- can not be compiled with gcc 10 -- use gcc 9 instead
The current version of procdump does not compile in
Debian 11 therefor the script compiles procdump version
1.4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2.9.0 |
09.03.2024 |
Ubuntu 22.04 LTS
|
6.2.0
|
gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
|
yes
|
all packages can be compiled
The current version of procdump does not compile in
Ubuntu 22.04 LTS therefor the script compiles procdump
version 1.4
|
2.9.0 |
09.03.2024 |
Ubuntu_20.04.1 LTS (Server)
|
5.4.0
|
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
|
yes
|
all packages can be compiled except these
ones:
jnettop
(this tools can not be compiled with the current version
of the pcap library)
The current version of procdump does not compile in
Ubuntu Server therefor the script compiles procdump
version 1.4
|
2.9.0 |
09.03.2024 |
Mint 19 |
4.15.0
|
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
|
yes
|
all packages can be compiled
The current version of procdump does not compile in Mint
19 therefor the script compiles procdump version 1.4
|
|
|
|
|
|
|
|
2.9.0 |
09.03.2024 |
OpenSuse Tumbleweed
|
6.6.3
|
gcc (SUSE Linux) 13.2.1 20231130
|
yes
|
all packages can be compiled except these
ones:
horst (see here)
iptraf
|
|
|
|
|
|
|
|
2.9.0 |
09.03.2024 |
OpenSUSE Leap 15.2
|
5.3.18
|
gcc (SUSE Linux) 7.5.0
|
yes
|
all packages can be compiled except these
ones:
horst
(see here)
iptraf
The current version of procdump does not compile in
OpenSUSE Leap 15.2 therefor the script compiles procdump
version 1.1.1.
|
2.9.0
|
09.03.2024 |
OpenSUSE Leap 15.4 |
5.14.21
|
gcc (SUSE Linux) 7.5.0
|
|
all packages can be compiled except these
ones:
horst
(see here)
iptraf
|
2.9.0
|
09.03.2024 |
OpenSUSE Leap 15.5 |
5.14.21
|
gcc (SUSE Linux) 7.5.0
|
yes
|
all packages can be compiled except these
ones:
horst
(see here)
iptraf
|
|
|
|
|
|
|
|
2.9.0 |
09.03.2024 |
Manjaro (ArchLinux)
|
6.5.3
|
gcc (GCC) 13.2.1 20230801
|
yes
|
all packages can be compiled
|
2.9.0
|
09.03.2024 |
ArcoLinux (ArchLinux)
|
6.6.18
|
gcc (GCC) 13.2.1 20230801
|
yes
|
all packages can be compiled
|
|
|
|
|
|
|
|
2.9.0 |
09.03.2024 |
Slackware 15.0
|
5.15.145
|
gcc (GCC) 11.2.0
|
no
|
all packages can be compiled except these
ones:
procdump
dnscap
|
2.9.0 |
09.03.2024 |
Slackware 14.2
|
4.4.301
|
gcc (GCC) 5.5.0
|
no
|
all packages can be compiled except these
ones:
dnscap
(necessary libraries missing)
and for these tools only an old version can be compiled:
atop v2.6 can not be
compiled in Slackware (see here) - the
compile script will therefor compile the version V2.4
hostscope
8.0 needs a more recent version of gcc than 5.5.0 - the
compile script will therefor compile the version V4.0
The current version of procdump does not compile in
Slackware 14.2 therefor the script compiles procdump
version 1.4
Missing packages for Slackware can be found here:
https://packages.slackware.com/
https://pkgs.org/
|
2.9.0 |
09.03.2024 |
Raspbian GNU/Linux 10 (buster)
|
5.10.103
|
gcc (Raspbian 8.3.0-6+rpi1) 8.3.0
|
yes
|
all packages can be compiled except these
ones:
IntelPCM (this tool is
only for Intel CPUs)
justniffer
(architecture not supported by make scripts)
numatop
(this tool is only for Intel CPUs)
dnscap
(necessary libraries missing)
|
The old versions of JWM / Linux were compiled on these Linux
Distributions:
JWM Linux distributions tested
The script ./compile_scripts/add_os_packages.sh
can be used to install the missing packages to compile all
tools in JWM / Linux.
Usage:
[xtrnaw7@t15g /var/tmp/jwm]$ ./compile_scripts/add_os_packages.sh
-h
[26.02.2024 18:00 ] ### add_os_packages.sh started at Mon
Feb 26 06:00:48 PM CET 2024
[26.02.2024 18:00 ] ### The logfile used is
/var/tmp/add_os_packages.sh.log
add_os_packages.sh
Function: add missing OS packages for compiling JWM /
Linux
Usage: add_os_packages.sh
[-v|--verbose] [-q|--quiet] [-f|--force]
Parameter:
-v - verbose mode
-q - quiet mode
-f - force execution
-d - dry-run mode, only print the commands to
execute
[26.02.2024 18:00 ] ### The logfile used was
/var/tmp/add_os_packages.sh.log
[26.02.2024 18:00 ] ### add_os_packages.sh ended at Mon Feb
26 06:00:48 PM CET 2024
[xtrnaw7@t15g /var/tmp/jwm]$
add_os_packages.sh supports Linux distributions based
on
- Debian (Ubuntu, Mint, etc)
- Suse
- RedHat (Centos, RockyLinux, AlmaLinux, Fedora, etc)
- ArchLinux
add_os_packages.sh installs all packages
that are missing after an initial installation of the
distribution without any modifications.
The script asks the user for confirmation before starting the
installation or changing anything.
Note:
The scripts assumes a "standard installation" of the Linux
distribution - so there may be other libraries or tools
missing to compile all tools . Just check the error messages
of the compile script and install the missing packages
manually.
To use JWM / Linux change to the directory with JWM / Linux (the
JWM_DIR) and issue
. ./init_session
e.g.
screenshot:
[xtrnaw7@t15g /var/tmp/jwm]$ cd /var/tmp/jwm
[xtrnaw7@t15g /var/tmp/jwm]$
[xtrnaw7@t15g /var/tmp/jwm]$ . ./init_session
JWM_DIR is "/var/tmp/jwm"
[bash] Starting environment for "JMW / Linux v290 created on
Fedora_release_39_(Thirty_Nine) 6.7.6-200.fc39.x86_64 x86_64
at 2024-03-04" ...
[bash] Initializing JWM environment ...
[bash] JWM environment initialized. The tools available are:
/var/tmp/jwm/bin:
amap
cifsiostat
fspy
ibmonitor
ncat
op-check-perfevents
procenv
stress-ng total
amap6
cpulimit
get_device
ifstat
ndiff
operf
protoc
sysstat
trace-cmd
amapcrap
cpumon
get_driver inotifywait
netio
opgprof
prtdiag
systool
trace-graph
arp-fingerprint
cpustat
get-iab inotifywatch
netperf
ophelp
prtdiag.cfg
tapestat trace-view
arp-scan
dlist_test
get_module
iostat
netserver
opimport
ptiptop
tcpdump
uninstall_ndiff
atop
dnscap
get-oui
iozone
nicstat
opjitconv
rawtime tcpdump.4.99.0
uninstall_zenmap.org
atopsar
dnscap-rssm-rssac002
hdperf
iperf3
nload
opreport
rnano
tcpdump.4.99.1 unpigz
bmon
dropwatch
horst
jnettop
nmap
pcap-config
rvnamed tcpdump.4.99.3
wavemon
bmore
dropwatch.1.5.0
horst.sh justniffer
nmon
pidstat
rvnamed-ng tcpdump.4.99.4 zblocklist
bon_csv2html
dstat
hostscope kernelshark
nmonchart
pigz
screen
tcpflow
ziterate
bon_csv2txt
faultstat
hping2
makelocal
nping
pit_server
smemstat
tcpick
zmap
btop
fiemap
htop
memstat
ocount
plugins
sockperf
tcptrack ztee
bvi
fileop
htop2
mpstat
opannotate
powerstat
sockstat tgkill
bwm-ng
fsmon
httpry
nano
oparchive
procdump
stress tiptop
/var/tmp/jwm/bin1:
CPUhog.jar
inq
inq.LinuxI386 iperf
ipscan-linux64-3.9.1.jar latencytop-tui
pchar_for_linux26
CPUhog.sh inq.LinuxAMD64
iodump
ipscan
latencytop-gui
lxtx
pspy64
/var/tmp/jwm/sbin:
arping
darkstat
forkstat
ioping
iptraf-ng netsniff-ng
pcm-core.x pcm-sensor.x smartctl
update-smart-drivedb ztee
astraceroute dhtest
fping
ipaudit
iptstate
ngrep
pcm-memory.x pcm-tsx.x
smartd vpddecode
biosdecode dmidecode
health-check ipband
latencytop numatop
pcm-msr.x
pcm.x
t50 zblocklist
bonnie++
eventstat hostscoped
ipstrings mausezahn
p0f
pcm-numa.x
pktstat
tcpdump zcav
bpfc
flowtop
ifpps
iptraf
mtr
pagemon
pcm-pcie.x
powertop trafgen
ziterate
cdpr
fnotifystat
iftop
iptraf.fc31 nethogs
pchar
pcm-power.x scanlogd
unfsd zmap
/var/tmp/jwm/scripts:
ack
collectl_top
getroute.sh
jwm.sh
netdata.sh
ack-2.24-single-file.pl
collectl_top_io
hostscope.sh
manServer_107_ma1.pl opensnoop1
ack-v3.5.0
compile_justniffer_with_boost.sh
init_infoscale.include
manServer_107.pl
open_snoop_wrapper.sh
ack-v3.7.0
darkstat.sh
init_infoscale.sh
manServer.pl
rtp_task_desc.inp
addtimestamp
exec_snoop_wrapper.sh
inxi
manServer.pl.org scriptt_mini.sh
bashtop
execute_on_all_hosts.sh
iotop
memconf
show_kernel_memory
bpytop
execute_osbuild_check_tasks.include
iotop-0.4.4
memconf-v3.15.pl smem
busybox_httpd.sh
execute_osbuild_check_tasks.sh
iotop-0.6
memconf.v3.16.pl
start_stop_manserver.sh
cdpinfo
execute_scripts.sh
iotop.sh
mle.sh
testssl.sh
check_network_adapter_config.sh
execute_tasks.sh
itop
monitor_system.sh
view_vmware_server_configuration.sh
collectl
fio_tests.sh
jdiskreport
mpathstat.py
Additional general Linux tools are in the directory
/var/tmp/jwm/busybox
Additional performance monitoring tools are in
/var/tmp/jwm/perf-tools
[JWM session] [xtrnaw7@t15g /var/tmp/jwm]$
Notes:
init_session sets the environment variables
PATH,
LD_LIBRARY_PATH,
MANPATH,
PYTHONPATH, and
PS1 and defines some useful
aliase.
If you want to use the already installed Linux libraries instead
of the libraries contained in JWM / Linux set and export the
variable LD_LIBRARY_PATH before calling init_session.
To only execute a single command from the JWM / Linux
environment without starting a JWM / Linux shell you can use the
script
${JWM_DIR}/scripts/jwm.sh.
jwm.sh creates a temporary JWM / Linux
environment and then executes the command. The usage for jwm.sh
is
[xtrnaw7@t540p /var/tmp/jwm]$ /var/tmp/jwm/scripts/jwm.sh
-h
[18.11.2016 17:08 ] ### jwm.sh started at Fri Nov 18 17:08:53
CET 2016
[18.11.2016 17:08 ] ### The logfile used is
/var/tmp/jwm.sh.log
jwm.sh
Function: exeucte a command in a temporary JWM / Linux
environment
Usage: jwm.sh [-v|--verbose]
[-q|--quiet] [-f|--force] command [parameter]
Parameter:
-v - verbose mode
-q - quiet mode
-f - force execution
[18.11.2016 17:08 ] ### The logfile used was
/var/tmp/jwm.sh.log
[18.11.2016 17:08 ] ### jwm.sh ended at Fri Nov 18 17:08:53
CET 2016
[xtrnaw7@t540p /var/tmp/jwm]$
You should create a symbolic link for jwm.sh in a directory that
is in your standard path, e.g
sudo ln -s /var/tmp/jwm/scripts/jwm.sh /usr/bin/jwm
Then you can use jwm.sh like this
[xtrnaw7@t540p /var/tmp/jwm]$ jwm
nicstat 1 1
[18.11.2016 17:29 ] ### jwm started at Fri Nov 18 17:29:22 CET
2016
[18.11.2016 17:29 ] ### The logfile used is /var/tmp/jwm.log
Time
Int rKB/s wKB/s
rPk/s wPk/s
rAvs wAvs %Util Sat
17:29:22 enp0s25 12.01
3.06 9.34 6.22
1316.5 504.8 0.01 0.00
17:29:22
lo 2.74 2.74
41.09 41.09 68.30
68.30 0.00 0.00
17:29:22 wlp4s0
0.00 0.00
0.00 0.00 112.5
145.5 0.00 0.00
[18.11.2016 17:29 ] ### The logfile used was /var/tmp/jwm.log
[18.11.2016 17:29 ] ### jwm ended at Fri Nov 18 17:29:22 CET
2016
[xtrnaw7@t540p /var/tmp/jwm]$
Note: Use jwm.sh with the parameter -v to get some
more information for trouble shooting:
[xtrnaw7@t540p /var/tmp/jwm]$ jwm -v nicstat 1 1
[29.08.2018 13:32 ] ### jwm started at Wed Aug 29 13:32:54
CEST 2018
[29.08.2018 13:32 ] ### The logfile used is /var/tmp/jwm.log
[29.08.2018 13:32 ] INFO: SCRIPTNAME is "jwm"
[29.08.2018 13:32 ] INFO: SCRIPTDIR is "/tools/scripts"
[29.08.2018 13:32 ] INFO: REAL_SCRIPTNAME is
"/data/tools/scripts/jwm"
[29.08.2018 13:32 ] INFO: REAL_SCRIPTDIR is
"/data/tools/scripts"
[29.08.2018 13:32 ] INFO: WORKING_DIR is "/var/tmp/jwm"
[29.08.2018 13:32 ] INFO: RUNNING_IN_TERMINAL_SESSION is "0"
(0 = yes, 1 = no)
[29.08.2018 13:32 ] INFO: CUR_USER_ID is "1000"
[29.08.2018 13:32 ] INFO: CUR_USER_NAME is "xtrnaw7"
[29.08.2018 13:32 ] INFO: CUR_GROUP_ID is "1000"
[29.08.2018 13:32 ] INFO: CUR_GROUP_NAME is "xtrnaw7"
[29.08.2018 13:32 ] INFO: ACTION is ""
[29.08.2018 13:32 ] INFO: Using the JWM directory
"/var/tmp/jwm"
[29.08.2018 13:32 ] INFO: PATH is now
/var/tmp/jwm/scripts:/var/tmp/jwm/bin:/var/tmp/jwm/sbin:/tools/scripts:/tools/bin:/tools/sbin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/xtrnaw7/.local/bin:/home/xtrnaw7/bin
[29.08.2018 13:32 ] INFO: LD_LIBRARY_PATH is now
/var/tmp/jwm/lib:
[29.08.2018 13:32 ] INFO: MANPATH is now
/var/tmp/jwm/man:/tools/man:
[29.08.2018 13:32 ] INFO: PYTHONPATH is now
:/var/tmp/jwm/lib/python2.7/site-packages/
[29.08.2018 13:32 ] INFO: Executing now "nicstat 1 1" ...
Time
Int rKB/s wKB/s
rPk/s wPk/s
rAvs wAvs %Util Sat
13:32:54 enp0s25 20.84
8.38 18.73 12.40
1139.6 692.1 0.02 0.00
13:32:54
lo 0.00
0.00 0.01
0.01 77.56 77.56
0.00 0.00
[29.08.2018 13:32 ] ### The logfile used was
/var/tmp/jwm.log
[29.08.2018 13:32 ] ### jwm ended at Wed Aug 29 13:32:54
CEST 2018
[xtrnaw7@t540p /var/tmp/jwm]$
JWM / Linux contains a simple
manServer
that can be used to view the man pages in a web browser that
listens on
localhost:7777.
To use it start a JWM / Linux session
cd /var/tmp/jwm
. init_session
and start the JWM / Linux
manServer
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/scripts]$
start_stop_manserver.sh start
[04.11.2016 21:01 ] ### start_stop_manserver.sh started at Fri
Nov 4 21:01:38 CET 2016
[04.11.2016 21:01 ] ### The logfile used is
/var/tmp/start_stop_manserver.sh.log
[04.11.2016 21:01 ] Starting the JWM manserver ...
export
MANPATH="/var/tmp/jwm/share/man:/tools/man::/var/tmp/jwm/perf-tools/man"
nohup /var/tmp/jwm/scripts/manServer.pl -s 7777
>/tmp/manserver_jwm.log 2>&1 &
echo $! >"/tmp/manserver_jwm.pid"
[04.11.2016 21:01 ] Use "http://localhost:7777" or
"http://t540p:7777" to connect to the JWM manserver
[04.11.2016 21:01 ] ### The logfile used was
/var/tmp/start_stop_manserver.sh.log
[04.11.2016 21:01 ] ### start_stop_manserver.sh ended at Fri
Nov 4 21:01:38 CET 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/scripts]$
Now you can use your Web Browser to view the man pages, e.g.
To add other man pages to the JWM / Linux manServer and use
another port use :
MANPATH=$MANPATH:/usr/share/man
./start_stop_manserver.sh --port 7788 start
example
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ MANPATH=$MANPATH:/usr/share/man
start_stop_manserver.sh --port 7788 start
[12.01.2019 17:23 ] ### start_stop_manserver.sh
started at Sat Jan 12 17:23:05 CET 2019
[12.01.2019 17:23 ] ### The logfile used is
/var/tmp/start_stop_manserver.sh.log
[12.01.2019 17:23 ] Starting the JWM manserver
...
export
MANPATH="/var/tmp/jwm/share/man:/tools/man::/var/tmp/jwm/perf-tools/man:/usr/share/man"
nohup /var/tmp/jwm/scripts/manServer.pl -s 7788
>/tmp/jwm_manserver_7788.log 2>&1 &
echo $! >"/tmp/jwm_manserver_7788.pid"
[12.01.2019 17:23 ] Use "http://localhost:7788"
or "http://t540p:7788" to connect to the JWM manserver
[12.01.2019 17:23 ] ### The logfile used was
/var/tmp/start_stop_manserver.sh.log
[12.01.2019 17:23 ] ### start_stop_manserver.sh
ended at Sat Jan 12 17:23:05 CET 2019
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
start_stop_manserver.sh details
Use the parameter status to check the status of the JWM
manserver:
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/scripts]$
start_stop_manserver.sh status
[04.11.2016 21:02 ] ### start_stop_manserver.sh started at
Fri Nov 4 21:02:11 CET 2016
[04.11.2016 21:02 ] ### The logfile used is
/var/tmp/start_stop_manserver.sh.log
[04.11.2016 21:02 ] The JWM manserver already running; the
PID is 8378
[04.11.2016 21:02 ] The JWM manserver is listening to the
ports:
(Not all processes could be identified, non-owned process
info
will not be shown, you would have to be root to see it
all.)
tcp
0 0
0.0.0.0:7777
0.0.0.0:*
LISTEN
8378/perl
[04.11.2016 21:02 ] ### The logfile used was
/var/tmp/start_stop_manserver.sh.log
[04.11.2016 21:02 ] ### start_stop_manserver.sh ended at Fri
Nov 4 21:02:11 CET 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/scripts]$
Directory
name
|
Directory
contents
|
Comment
|
bashtop*
|
bashtop
|
|
bin
|
binaries w/ source
|
|
bin1
|
binaries w/o source
|
|
bpytop*
|
bpytop
|
|
busybox
|
busybox
binary and links
|
|
checksec*
|
checksec |
|
collectl*
|
collectl
|
|
compile_scripts
|
scripts for compiling the
tools
|
|
data/*
|
data files for the tools
|
|
develop
|
script templates and
other development files
|
|
etc
|
config files for the
tools
|
|
htdocs
|
webserver based
applications and html pages
|
|
include
|
include files
|
|
info
|
.info files
|
|
iotop*
|
iotop (various versions)
|
|
jdiskreport* |
JDiskReport |
|
lib
|
libraries for
the tools
|
|
lib64
|
symbolic link to lib
|
|
libexec |
add files for the tools |
|
lynis*
|
lynis
installation
|
|
man
|
symbolic link to
./share/man
|
|
netdata*
|
netdata
installation
|
|
new
|
staging directory for new
tools
|
|
other_os
|
this directory contains some binaries for
other OS
|
|
perf-tools
|
directory with the perftools
|
|
sbin
|
binaries that need root
privileges
|
|
scripts
|
well, scripts
|
|
share
|
docs, manpages, etc for
the tools
|
|
src
|
source for the tools
|
|
src/old
|
source code for the previous version of
some tools (see here)
|
|
testssl* |
directories with the tool testssl.sh |
|
workdir
|
data files and log files
for compiling the tools
|
|
The current version of some of the tools can not be compiled on
older kernels anymore. For these tools the archive also contains
the source code for the old version of the tool in the directory
${JWM_DIR}/src/old. The compile script then compiles the
old version of a tool if necessary.
e.g. the version 2.6 of
atop does not compile for kernel 2.x
. Therefor the compile script for atop will compile the version
2.4 of atop if a kernel 2.x is detected.
As of
[26.02.2024] the tar archive contains this "old"
versions of the tools
[xtrnaw7@t15g /var/tmp/jwm]$ date
Mon Feb 26 06:07:24 PM CET 2024
[xtrnaw7@t15g /var/tmp/jwm]$
[xtrnaw7@t15g /var/tmp/jwm]$ ls -l ./src/old/
total 52
drwxrwxr-x. 4 xtrnaw7 xtrnaw7 4096 Jan 12
2019 atop-2.4.0
drwxrwxr-x. 4 xtrnaw7 xtrnaw7 4096 Aug
3 2020 health-check-0.03.09
drwxrwxr-x. 2 xtrnaw7 xtrnaw7 4096 Dec 26
2020 hostscope-V4.0
drwxrwxr-x. 12 xtrnaw7 xtrnaw7 4096 Apr 17 2021
htop3-3.0.5
drwxr-xr-x. 12 xtrnaw7 xtrnaw7 4096 Oct 30 2021
ibpcap-1.0.0
lrwxrwxrwx. 1 xtrnaw7 xtrnaw7 18
Sep 5 2020 iptraf-ng -> ./iptraf-ng-1.1.4/
drwxrwxr-x. 4 xtrnaw7 xtrnaw7 4096 Jul 23
2013 iptraf-ng-1.1.4
drwxrwxr-x. 24 xtrnaw7 xtrnaw7 4096 Feb 4
2023 nmap-7.70
drwxr-xr-x. 8 xtrnaw7 xtrnaw7 4096 Feb 24 17:01
procdump-1.1.1
drwxr-xr-x. 10 xtrnaw7 xtrnaw7 4096 Feb 26 08:17
procdump-1.4
drwxr-xr-x. 7 xtrnaw7 xtrnaw7 16384 Sep 5
2020 stress-ng-0.10.08
lrwxrwxrwx. 1 xtrnaw7 xtrnaw7 18
Sep 5 2020 stress-ng-without_O_PATH ->
stress-ng-0.10.08/
[xtrnaw7@t15g /var/tmp/jwm]$
Because not all libraries necessary for the tools are installed
on all machines (especially on machines in production
environments) some libraries are included in JWM / Linux. The
libraries are in the directory
${JWM_DIR}/lib.
As of this writing these libraries are:
Library
|
Version
|
Description
|
Source
|
|
|
|
|
|
|
|
|
The make script for JWM / Linux also copies some OS libraries
necessary for some of the tools to the JWM / Linux lib
directory. The libraries to copy are listed in the file
${JWM_DIR}/compile_scripts/OS_LIBS
The libraries to copy are
[as of 22.09.2020]; (you may
change the file if the libraries are already on the target
machines for JWM / Linux ]:
Library
|
Comment
|
libpcap*
|
|
libcrypto.so.10*
|
|
libdb-4.7*
|
|
libdb-5.3*
|
|
libtinfo* |
|
libnuma* |
|
liblua* |
|
liblua5.2*
|
|
liblua-5.1*
|
|
liblua-5.2*
|
|
liblua-5.3*
|
|
liblua-5.4* |
|
liblua-5* |
|
libnet*
|
|
libnl* |
|
libconfuse*
|
|
|
|
libnl-3* |
|
libnl-route-3* |
|
libnl-genl-3* |
|
libsctp1* |
|
libnetfilter_conntrack* |
|
libboost_regex* |
|
libboost_regex-mt* |
|
libboost_iostreams* |
|
libboost_iostreams-mt* |
|
libboost_program_options* |
|
libboost_program_options-mt* |
|
liburcu* |
|
libcli* |
|
|
|
libsctp1*
|
|
libjson-c*
|
|
libbsd*
|
|
|
|
see
How to add
another OS Library for details for the copy process
Note:
To suppress the copying of the libraries create the semaphor
file
${JWM_DIR}/lib/_DO_NOT_COPY_LIBS_ prior to calling
the make script (or remove the file
${JWM_DIR}/compile_scripts/OS_LIBS).
Tool
|
Version
|
Last
Update
|
Interface
|
Description
|
Source
|
ack
|
3.7
|
2023
|
cli
|
ack is a grep replacement
written in Perl; requirement is Perl 5.8.8 or higher
|
http://beyondgrep.com/
|
amap
|
5.4
|
2011
|
cli
|
amap is a tool to identify application
protocols on target ports.
|
https://www.thc.org/
Download source from
https://github.com/hackerschoice/THC-Archive/blob/master/Tools
|
arp-scan
|
1.10.1
|
2021
|
cli
|
arp-scan is an arp scanner
|
arp-scan documentation:
http://www.royhills.co.uk/wiki/index.php/Arp-scan_Documentation
download the source from
https://github.com/royhills/arp-scan
|
arping
|
2.19
|
2017
|
cli
|
arping is a util to find out if a
specific IP address on the LAN is 'taken' and what MAC
address owns it.
|
http://github.com/ThomasHabets/arping
|
atop
|
2.10.0
|
2024
|
cli
|
top like system monitor
Hints for compiling atop
If you get the error message
cc -O2 -I. -Wall
-c -o photosyst.o photosyst.c
photosyst.c: In function ‘lvmmapname’:
photosyst.c:1466:19: error: called object
‘major’ is not a function or function pointer
dmp->major = major(statbuf.st_rdev);
^~~~~
photosyst.c:1421:25: note: declared here
lvmmapname(unsigned int major,
unsigned int minor,
~~~~~~~~~~~~~^~~~~
add the line
#include <sys/sysmacros.h>
to the file
photosyst.c
Note [25.12.2020]
The compile script for atop will compile the old version
2.4 of atop if a kernel version 2.x is detected because
the atop version 2.6 can not be compiled for kernel 2.x
(see also here.)
The script will also compile the version 2.4 if
ETHTOOL_GLINKSETTINGS is not defined in the current OS.
|
http://www.atoptool.nl/
|
bashtop
|
0.9.25
|
2020
|
cli
|
a "top" written in
bash (see also bpytop)
Dependencies for bashtop are
bash
(v4.4 or later)
GNU coreutils, sed, grep, ps, awk
(see also the homepage of bashtop)
|
https://github.com/aristocratos/bashtop
|
bmonDMI |
4.0 |
2017 |
cli |
"bmon is a monitoring and
debuggng tool to capture networking related statistics
and prepare them visually in a human friendly way. It
features various output methods including an interactive
curses user interface and a programmable text output for
scripting."
|
https://github.com/tgraf/bmon/ |
bonnie++
|
1.04 UNRELEASED
|
2017
|
cli
|
bonnie++ is a disk
performance test tool
|
http://www.coker.com.au/bonnie++/
|
bpytop
|
1.0.63
|
2020
|
cli
|
a "top" written in Python (see also bashtop)
Dependencies for bpytop are
Python3
(v3.6 or later)
psutil module
(v5.7.0 or later)
|
https://github.com/aristocratos/bpytop
|
busybox
|
1.36.1
|
2023
|
cli |
BusyBox: The Swiss Army
Knife of Embedded Linux
Note:
The config for busybox in the tar archive is the
default config without the i2c tools. The compile
script does not create a new config.
Use
make menuconfig
in the busybox source directory to select which
busybox components should be compiled.
Hints for some of the errors I got while
compiling busybox on older Linux versions
Error message ‘MTD_FILE_MODE_RAW’ undeclared
-> disable "Miscellaenous Utilities/nandwrite" and
"Miscellaenous Utilities/nanddump"
Error message ‘BLKSECDISCARD’ undeclared
-> disable "Linux System Utilities/blkdiscard"
Error message sync.c:(.text.sync_main+0x7a):
undefined reference to `syncfs'
-> disable "Core Utils/sync"
Error message
nsenter.c:(.text.nsenter_main+0x1b6): undefined
reference to `setns'
-> disable "Linux System Utilties/nsenter"
The config without these tools is saved in the file
rhel6_config in the busybox source directroy. Use
"make menuconfig" in the busybox source directory to
use this config.
|
http://www.busybox.net
|
btop++
|
1.3.2
|
2022
|
cli
|
"Resource monitor that shows usage and
stats for processor, memory, disks, network and
processes."
Note:
The
precompiled static binary files from btop++
are used in JWM
|
https://github.com/aristocratos/btop/releases
|
bvi |
1.4.2 |
2023 |
cli
|
bvi is a vi like editor for binary files |
http://bvi.sourceforge.net/ |
bwm-ng
|
0.6.2
|
2018
|
cli |
Bandwidth Monitor NG is a
small and console-based live network and disk-io
bandwidth monitor
|
http://sourceforge.net/projects/bwmng/
|
cdpinfo
|
1.2
|
2012
|
cli |
A perl script to
listen for Cisco Discovery Protocol (CDP) packets and
print out key values such as switch, port and vlan
|
https://github.com/wildajet/scripts/blob/master/cdpinfo
|
cdpr
|
2.4
|
2013
|
cli |
Cisco Discovery Protocol
Reporter - view and decode CDP packets
|
http://sourceforge.net/projects/cdpr/
|
checksec |
2.5.0
|
2021
|
cli
|
Test security features implemented in the
running Linux version
|
https://github.com/slimm609/checksec.sh
http://www.trapkit.de/tools/checksec.html
|
collectl
|
4.3.1
|
2018
|
cli |
powerfull performance
monitoring tool
|
http://collectl.sourceforge.net/
|
CPUHog
|
2.1.3
|
2018
|
GUI
|
Java app. to utilise
(waste) as much CPU as it can. The application allows
the user to create multiple Java threads, each
performing a CPU-intensive task tasks with a selectable
memory footprint. The options let you 'thrash' the
aspect you want. |
https://sourceforge.net/projects/cpuhog/
|
cpumon
|
2.4
|
2014
|
cli |
monitor cpu usage
|
http://www.softndesign.org/codes/c/cpumon/
|
cpustat
|
0.02.20
|
2024
|
cli |
cpustat
periodically dumps out the current CPU utilisation
statistics of running processes. cpustat has been
optimised to have a minimal CPU overhead and typically
uses about 35% of the CPU compared to top. cpustat also
includes some simple statistical analysis options that
can help characterise the way CPUs are being loaded. |
https://github.com/ColinIanKing/cpustat
|
darkstat
|
3.0.719
|
2015
|
WebGUI
|
Captures network traffic,
calculates statistics about usage, and serves reports
over HTTP.
Use darkstat.sh to start or
stop the darkstat daemon.
|
http://unix4lyfe.org/darkstat/
|
dhtest
|
1.5
|
2018
|
cli |
DHCP Test client
|
https://github.com/saravana815/dhtest
|
dmidecode
|
3.5
|
2023
|
cli |
dmidecode reports
information about your system's hardware as described in
your system BIOS according to the SMBIOS/DMI standard (see a sample output) |
http://www.nongnu.org/dmidecode/
|
dnscap
|
2.2.0
|
2023
|
cli
|
"dnscap is a network capture utility
designed specifically for DNS traffic."
|
https://github.com/DNS-OARC/dnscap
|
dstat
|
0.7.3
|
2017
|
cli |
Resource statistic tool
|
http://dag.wieers.com/home-made/dstat/
|
dropwatch
|
1.5.4
|
2022
|
cli
|
list dropped network packages
|
https://github.com/nhorman/dropwatch
|
eventstat |
0.06.00
|
2024
|
cli
|
eventstat periodically
dumps out the current kernel event state. It keeps track
of current events and outputs the change in events on
each output update. The tool requires sudo to run since
it needs to write to /proc/timer_stats to start and stop
the event monitoring. |
https://github.com/ColinIanKing/eventstat
|
faultstat
|
0.01.11
|
2024
|
cli
|
"Faultstat reports the page fault
activity of processes running on a system. The tool
supports a 'top' like mode to dynamically display the
top page faulting processes.
" |
https://github.com/ColinIanKing/faultstat
|
fiemap
|
|
2017
|
cli |
Reads
file extents using the FIEMAP ioctl
|
https://github.com/ColinIanKing/fiemap
|
fnotifystat |
0.02.07
|
2020
|
cli
|
Fnotifystat is a program
that dumps the file system activity in a given period of
time.
Note:
The compile script aborts the compilation if the file
fanotify.h is not found in /usr/include
or one of the sub directories. This file is missing in
older Linux versions
Hints for compiling fnotifystat
If you get the error message
cc -Wall -Wextra -DVERSION='"0.01.17"' -O2
fnotifystat.o -o fnotifystat
/usr/bin/ld: fnotifystat.o: in function
`fnotify_get_filename.constprop.3':
fnotifystat.c:(.text+0xbad): undefined
reference to `minor'
add the line
#include <sys/sysmacros.h>
to the file
fnotifystat.c
|
https://github.com/ColinIanKing/fnotifyst
|
forkstat
|
0.03.02
|
2024
|
cli |
forkstat is a program
that logs process fork(), exec() and exit() activity. It
is useful for monitoring system behaviour and to track
down rogue processes that are spawning off processes and
potentially abusing the system.
Note that forkstat uses the Linux netlink connector to
gather process activity and this may miss events if the
system is overly busy. Netlink connector also requires
root privilege. |
https://github.com/ColinIanKing/forkstat
|
fping
|
5.0
|
2020
|
cli
|
fping is a program to send ICMP echo
probes to network hosts, similar to ping,
but much better performing when pinging multiple hosts.
|
https://www.fping.org/
|
fsmon
|
1.8.5
|
2021
|
cli
|
FileSystem Monitor
utility that runs on Linux, Android, iOS and OSX.
|
https://github.com/nowsecure/fsmon
|
fspy
|
0.1.1
|
2010
|
cli |
fspy is an easy to use
linux filesystem activity monitoring tool which is meant
to be small, fast and to handle system resources
conservative. you can apply filters, use diffing and
your own output format in order to get the best resul
|
ttps://www.security-database.com/toolswatch/fspy-v0-1-1-linux-filesystem.html
|
hdperf
|
1.5
|
2013
|
cli |
harddrive performance
benchmark
|
http://sourceforge.net/projects/hdperf/
|
health-check |
0.04.00
|
2024
|
cli |
The health-check tool
monitors prcesses in various ways to help identify areas
where it is consuming too many resources. One can trace
one or more processes (including all their threads and
child processes too) for a full story of system
activity.
Note:
The compile script aborts the compilation if the file
fanotify.h is not found in
/usr/include or one of the sub directories. This file
is missing in older Linux versions
|
https://github.com/ColinIanKing/health-check
|
horst |
5.1 |
2016 |
cli |
horst is a small,
lightweight IEEE802.11 WLAN analyzer with a text
interface.
Hints for compiling horst
If compiling horst fails with error messages
like this:
display.c:435:11: error: lvalue required as
left operand of assignment
435 | ESCDELAY = 25; /* we
don't use ESC sequences */
A workaround for this error is to comment the lines
with the "invalid" assignments (but that will only
work if the statement defines some unused variable)
|
https://github.com/br101/horst |
hostscope
|
8.0
|
2021
|
cli, network
|
hostscope displays key
system metrics of Linux hosts, such as detailed CPU
load, speed and temperature, I/O rates of network
interfaces, I/O rates of disks, and user process summary
information. All metrics are multicast on the LAN, if
wanted, and clients can switch between multiple hosts on
the network.
Hints for compiling hostscope
An error like this
hostscope_wfc.cc:769:18: error:
'class std::vector<HostScope_LinuxCPU>' has
no member named 'emplace_back'
m_linux_cpus.emplace_back();
can be fixed by using a more recent version of gcc.
|
http://www.maier-komor.de/hostscope.html
|
hping2
|
2.0.0
|
2006
|
cli |
command-line oriented
TCP/IP packet assembler/analyzer |
https://sourceforge.net/projects/hping2/
|
htop
|
3.3.0
|
2024
|
cli |
top like system monitor
Hints for compiling htop 3.x
htop version 3.1.x does not compile on OS
versions with a missing definition for TASKSTATS_TYPE_NULL
in the file
/usr/include/linux/taskstats.h.
In this case the compile script will compile the
old version 3.0.5 - see also here.
Note:
The old htop version 2.2.0 is available as htop2.
|
http://htop.sourceforge.net/
|
httpry
|
0.1.8.0
|
2014
|
cli
|
a HTTP logging and information retrieval
tool
|
https://github.com/jbittel/httpry#
|
ibmonitor
|
1.4
|
2006
|
cli |
ibmonitor is an interactive linux console
application which shows
bandwidth consumed and total data transferred on all
interfaces.
|
http://ibmonitor.sourceforge.net/index.html
|
ifstat
|
1.1
|
2004
|
cli |
report network interface
bandwidth
|
http://gael.roualland.free.fr/ifstat/
|
iftop
|
1.0pre4
|
2014
|
cli |
report network interface
bandwidth |
http://www.ex-parrot.com/pdw/iftop/
|
inxi
|
3.3.33-00
|
2024
|
cli |
inxi - the universal, portable, system
information tool for console and irc.
|
http://smxi.org/
|
inotify
|
3.14
|
2010
|
cli |
inotify-tools is a C library and a set of
command-line programs for Linux providing a simple
interface to inotify.
These programs can be used to monitor and act upon
filesystem events. ...
The programs are written in C and have no dependencies
other than a Linux kernel supporting inotify.
inotify-tools 3.14 is the latest version, released on
the 7th of March 2010.
inotify is a file change notification system in the
Linux kernel, available since version 2.6.13
To check whether your own kernel version supports
Inotify as well, you can run the following command:
% grep INOTIFY_USER /boot/config-$(uname -r)
CONFIG_INOTIFY_USER=y
|
https://github.com/rvoicilas/inotify-tools/wiki
see also:
http://www.infoq.com/articles/inotify-linux-file-system-event-monitoring
|
inq
|
9.2.1.2
|
2021
|
cli |
disk inquiry program from
EMC,
Notes:
The archive contains only the 32bit binary and the
64bit binary
The 32 Bit Version is still 7.6.2.0
|
ftp://ftp.emc.com/pub/symm3000/inquiry/
(no source code available)
|
Intel PCM
|
2.11
|
2012
|
cli |
Intel Performance Counter Monitor
|
https://software.intel.com/en-us/articles/intel-performance-counter-monitor/
|
ioping
|
1.2
|
2020
|
cli
|
simple disk I/0 latency measuring tool
|
https://github.com/koct9i/ioping
|
iotop
|
0.4.4
|
2013
|
cli |
iotop is a Python program
with a top like UI used to show of behalf of which
process is the I/O going on.
Be aware of the requirements for this iotop version:
"It requires Python >= 2.5 (or Python >= 2.4 with
the ctypes module) and a Linux kernel >= 2.6.20 with
the CONFIG_TASK_DELAY_ACCT CONFIG_TASKSTATS,
CONFIG_TASK_IO_ACCOUNTING and CONFIG_VM_EVENT_COUNTERS
options on."
|
http://guichaz.free.fr/iotop/
|
iotop
|
0.6
|
2013
|
cli |
iotop is a Python program
with a top like UI used to show of behalf of which
process is the I/O going on.
Be aware of the requirements for this iotop version:
"It requires Python >= 2.7 and a Linux kernel >=
2.6.20 with the CONFIG_TASK_DELAY_ACCT CONFIG_TASKSTATS,
CONFIG_TASK_IO_ACCOUNTING and CONFIG_VM_EVENT_COUNTERS
options on."
|
Update 17.10.2021/bs
Webpage is reachable
http://guichaz.free.fr/iotop/ |
iozone
|
3_506
|
2023
|
cli |
IOzone is a filesystem
benchmark tool
|
http://iozone.org/
|
ipaudit
|
1.1
|
2016
|
cli |
IPAudit monitors network activity on a
network by host, protocol and port. |
http://ipaudit.sourceforge.net/
|
ipband
|
0.8.1
|
2008
|
cli |
ipband is a pcap based IP traffic
monitor. |
http://ipband.sourceforge.net/
|
iperf3 |
3.16.0 |
2023 |
cli |
iperf3 is a tool for
active measurements of the maximum achievable bandwidth
on IP networks. It supports tuning of various parameters
related to timing, protocols, and buffers. For each test
it r./src/bwm-ngeports the bandwidth, loss, and other
parameters.
Note:
A binary version of the "old" iperf
2.0.5 that should run on most Linux distributions
is in the directory ./bin1.
|
https://github.com/esnet/iperf |
ipscan
|
3.9.2
|
2023
|
GUI
|
A cross-platform network scanner written
in Java that is fast and simple to use
|
old releases:
https://sourceforge.net/projects/ipscan/
|
iptraf
|
3.0.0
|
2005
|
cli |
IPTraf is a console-based
network statistics utility for Linux. |
http://iptraf.seul.org/index.html
|
iptraf-ng |
1.2.1 |
2020 |
cli |
iptraf-ng is a fork of
the original iptraf-3.0.0
Hints for compiling iptraf-ng
05.09.2020 /bs
New versions of iptraf-ng require the
definition of PACKET_USER and PACKET_KERNEL.
These definitions are missing in older Linux versions.
Therefor the compile script for iptraf-ng
checks if PACKET_USER is defined in the file /usr/include/linux/if_packet.h.
If the definition is missing the compile script will
compile the old version of iptraf-ng in the directory
${JWM_DIR}/src/old/iptraf-ng.
(see also here)
|
https://github.com/iptraf-ng/iptraf-ng |
iptstate |
2.2.7 |
2021 |
cli |
IPTState is a top-like
interface to your netfilter connection-tracking table. |
|
itop
|
|
2012
|
cli |
itop monitors the
interrupts of a system in real time
|
http://www.void.gr/kargig/blog/2012/06/24/interrupts-top-like-utility-for-linux/
|
JDiskReport |
1.4.1 |
.2014 |
GUI |
"JDiskReport enables you
to understand how much space the files and directories
consume on your disk drives, and it helps you find
obsolete files and folders.
The tool analyses your disk drives and collects several
statistics which you can view as overview charts and
details tables."
|
http://www.jgoodies.com/freeware/jdiskreport/ |
jnettop
|
0.13
|
2006
|
cli |
jnettop is a
traffic visualiser, which captures traffic going through
the host it is running from and displays streams sorted
by bandwidth they use.
|
https://sourceforge.net/projects/jnettop/files/
|
justniffer |
0.5.14 |
2014 |
cli |
justniffer is a network
sniffer
Hints for compiling justniffer
Compiling justniffer requires boost
version 1.46 or newer.
If you do not want to install a new boost version you
can compile
justniffer using a boost staging area.
See also the hint
below regarding GENL_ID_GENERATE.
Update 13.09.2020 boost_regex missing error
If the configure script complains about a missing library
boost_regex the real missing library might be libboost_program_options.so:
checking whether the
Boost::Regex library is available... yes
checking for exit in -lboost_regex...
yes
checking whether the
Boost::Program_Options library is available...
yes
configure: error: Could not
link against boost_regex !
|
http://justniffer.sourceforge.net/
https://sourceforge.net/projects/justniffer/?source=directory |
latencytop
|
0.5
|
2009
|
cli |
view process latencies |
http://www.latencytop.org
|
lxtx |
1.1.12 |
2016 |
cli |
A simple command line
program, like vmstat, sar, or iostat.
Note:
There is no source code available for this tool.
|
http://ontune.us/lxtx/ |
lynis
|
3.0.9
|
2023
|
cli |
Lynis is a security auditing tool for
UNIX derivatives like Linux, macOS, BSD, Solaris, AIX,
and others |
https://cisofy.com/download/lynis/
|
manServer
|
1.07 ma1
|
2006
|
WebGUI
|
manServer - convert
manual pages to HTML for viewing with a web browser. Use
start_stop_manserver.sh to
start or stop the JWM / Linux manServer.
|
|
memconf
|
3.16
|
2022
|
cli |
Identify sizes of memory
modules installed on a Solaris, Linux, FreeBSD or HP-UX
workstation or server. |
http://sourceforge.net/projects/memconf/
|
memstat |
1.0.0 |
? |
cli |
memstat is a small
proc-based utility designed to help the system
administrator figure out what's consuming memory |
https://www.gnu.org/software/hurd/user/tlecarrour/memstat.html
|
monitor_system.sh
|
1.0.0
|
2018
|
cli
|
monitor_system.sh is a simple wrapper
script to start one or more monitor commands -- for
further details see the documentation for the script.
|
|
mpathstat.py |
1.1 |
2016 |
cli |
Python script to sort the
output of iostat for better monitoring of multipathed
devices |
http://prefetch.net/blog/index.php/2016/10/24/displaying-multi-path-statistics-on-linux-systems/ |
mtr
|
0.92
|
2017
|
cli |
mtr combines the
functionality of the 'traceroute' and 'ping' programs in
a single network diagnostic tool. |
http://www.bitwizard.nl/mtr/
|
nano
|
7.2
|
2023
|
cli
|
nano is a small visual editor
|
https://nano-editor.org/
|
netcat
|
0.7.1
|
2004
|
cli
|
The GNU Netcat
|
http://netcat.sourceforge.net/
|
netdata
|
1.44.3
|
2024
|
WebGUI |
real time performance monitoring in a Web
dashboard
Very short netdata usage help
To use netdata start the daemon:
/var/tmp/jwm/netdata/usr/bin/netdata
(or use the script netdata.sh)
Then connect via WebBrowser to
http://127.0.0.1:19999/
To view the config use:
http://127.0.0.1:19999/netdata.conf
Note:
Please make sure that all files and sub directories in
the directory ${JWM_DIR}/netdata are owned by
the user executing netdata
Hints for compiling netdata
netdata needs the develop package for libuv-1
or a newer version. This package is currently [as
of 10.08.2020] not available in the standard
repositories for RHEL 8.x or CentOS 8.x (neither in
the repositories for the base OS nor in the epel
repositories. Therefor you must reinstall the package
from another source (for example from the repository
from okay) or download
the source for the library,
compile it and install it.
Use the parameter --disable-cloud for
the installer netdata-installer.sh as work
around for this error while compiling netdata:
externaldeps/libwebsockets/libwebsockets.a(unix-caps.c.o):
In function `lws_plat_drop_app_privileges':
unix-caps.c:(.text+0x2d9): undefined
reference to `cap_get_proc'
unix-caps.c:(.text+0x2f5): undefined
reference to `cap_set_flag'
|
https://github.com/firehol/netdata
|
nethogs
|
0.8.0
|
2015
|
cli
|
NetHogs is a small 'net
top' tool |
https://github.com/raboof/nethogs#readme
|
netio
|
1.32
|
2012
|
cli
|
network benchmark tool
Note:
For 10 GB connections netio is not that useful; use one
of the other tools (for example netperf)
instead.
|
|
|
|
|
|
|
|
netperf
|
2.7.0
|
2015
|
cli |
network
benchmark tool
|
http://www.netperf.org/netperf
|
netsniff-ng |
0.6.7 |
2020 |
cli |
netsniff-ng is a free
Linux networking toolkit, a Swiss army knife for your
daily Linux network plumbing if you will.
Hints for compiling netsniff-ng
netsniff-ng does not compile with the libraries and
headers from JWM / Linux . You must install the latest
version of the libraries to compile netsniff-ng.
Compiling the version 0.6.3 will fail with the error
message
staging/tools.c:485:10: error: ‘UINT64_MAX’
undeclared (first use in this function)
To fix this issue add the missing statement
#include <stdint.h>
to the file
./staging/tools.c
|
http://netsniff-ng.org/ |
ngrep
|
1.47
|
2006
|
cli |
grep for network traffic
|
http://ngrep.sourceforge.net/
|
nicstat
|
1.95
|
2014
|
cli |
Network traffic statics
utility for Solaris and Linux |
http://sourceforge.net/projects/nicstat/
|
nload
|
0.7.4
|
2012
|
cli |
nload is a console
application which monitors network traffic and bandwidth
usage in real time. It visualizes the in- and outgoing
traffic using two graphs and provides additional info
like total amount of transfered data and min/max network
usage.
|
http://www.roland-riegel.de/nload/index.html |
nmap
|
7.94
|
2023
|
cli |
network port scanner
|
http://nmap.org/
|
nmon
|
16n
|
2023
|
cli |
Nigel's
performance Monitor for Linux
Hints for compiling nmon
The source code for nmon version 15+ uses functions
from the math library but does not link the necessary
lib for that, so compiling nmon ends with an error:
cc -o nmon_power_rhel3 lmon.c -g
-O2 -D JFS -D GETUSER -Wall -D LARGEMEM -lncurses
-g -D POWER
/tmp/ccLo9PxQ.o: In function `main':
/var/tmp/jwm/src/nmon/lmon.c:5616:
undefined reference to `ceilf'
collect2: error: ld returned 1 exit
status
To get around this edit the makefile and change the
line
LDFLAGS=-lncurses -g
to
LDFLAGS=-lncurses -g -lm
Included are also nmonchart:
"nmonchart is a Korn shell script for AIX or Linux to
convert nmon collected files to a webpage (.html)
including Google Chart and JavaScript to display the top
53+ AIX and Linux Performance Graphs and configuration
details"
and the Java Nmon
Analyzer
"The Java Nmon analyser is a free, open source analyser
tool which is helpful in analyzing performance data
captured using the nmon performance tool. and real-time
monitor the Linux/AIX 's performance base on nmon."
There are other tools to use the data collected by nmon
- see the list of
other tools not included in JWM / Linux below.
|
nmon and nmon chart:
http://nmon.sourceforge.net/pmwiki.php
nmon Analyzer:
https://sourceforge.net/projects/jnmonanalyser/
|
numatop
|
1.0.4
|
2015
|
cli |
NumaTOP is
an observation tool for runtime memory locality
characterization and analysis of processes and threads
running on a NUMA system. It helps the user characterize
the NUMA behavior of processes and threads and identify
where the NUMA-related performance bottlenecks reside.
NumaTOP Requirements
NumaTOP requires a special patch which supports PEBS
Load Latency functionality.
The patch has not been integrated in 3.8 (probably it
will be integrated
in 3.9).
Numatop is supported on Intel Xeon processors:
5500-series, 6500/7500-series,
5600 series, E7-x8xx-series, and
E5-16xx/24xx/26xx/46xx-series.
E5-16xx/24xx/26xx/46xx-series had better be updated to
latest CPU microcode
(microcode must be 0x618+ or 0x70c+).
|
https://01.org/numatop
|
oprofile |
1.4.0 |
2020 |
cli |
OProfile is a system-wide
profiler for Linux systems, capable of profiling all
running code at low overhead
Note:
The binary operf will only be compiled
if the kernel supports the necessary events.
|
http://oprofile.sourceforge.net/news/ |
p0f
|
3.09b
|
2016
|
cli |
P0f is a tool that
utilizes an array of sophisticated, purely passive
traffic fingerprinting mechanisms to identify the
players behind any incidental TCP/IP communications
(often as little as a single normal SYN) without
interfering in any way. Version 3 is a complete rewrite
of the original codebase, incorporating a significant
number of improvements to network-level fingerprinting,
and introducing the ability to reason about
application-level payloads (e.g., HTTP).
|
http://lcamtuf.coredump.cx/p0f3/
|
pagemon
|
0.02.04
|
2024
|
cli |
pagemon is an interactive
memory/page monitoring tool allowing one to browse the
memory map of an active running process on Linux.
|
https://github.com/ColinIanKing/pagemon
|
pchar
|
1.5
|
2005
|
cli |
pchar is a tool to
characterize the bandwidth, latency, and loss of links
along an end-to-end path through the Internet.
Hints for compiling pchar
If compiling pchar with make fails with saying
something like "SO_BSDCOMPAT not defined" temporary
add
#define SO_BSDCOMPAT 14
to the file
/usr/include/asm-generic/socket.h
The compile script in JWM / Linux adds this statement
to the include file pc.h from pchar if neccessary.
The usage of the abs function in the
pchar source file ResultTable.cc is
not allowed with GCC 7.x anymore. Therefor I corrected
the source file:
[xtrnaw7@t61p pchar-1.5]$ diff ResultTable.cc
ResultTable.cc.org
913,921c913,917
< //
residuals[l] = abs(partialmins[i] -
< //
((currentslope *
< //
column2size(i) /
< //
slopescale) +
< //
currentintercept));
<
residuals[l] = partialmins[i] > ((currentslope *
column2size(i) / slopescale ) + currentintercept ) ?
<
partialmins[i] -
((currentslope * column2size(i) / slopescale ) +
currentintercept ) :
<
((currentslope * column2size(i) /
slopescale ) + currentintercept ) - partialmins[i] ;
<
---
>
residuals[l] = abs(partialmins[i] -
>
((currentslope *
>
column2size(i) /
>
slopescale) +
>
currentintercept));
938,939c934
< // ys[l] =
abs(partialmins[i] - mediany);
< ys[l] =
partialmins[i] > mediany ? partialmins[i] -
mediany : mediany - partialmins[i] ;
---
> ys[l] =
abs(partialmins[i] - mediany);
[xtrnaw7@t61p pchar-1.5]$
[xtrnaw7@t61p pchar-1.5]$ ls -ltr
ResultTable.cc*
-rw-r--r-- 1 xtrnaw7 users 26718 Aug 13 11:35
ResultTable.cc
# source w/ corrections for gcc 7.x
-rw-r--r-- 1 xtrnaw7 users 26109 Aug 13 11:42
ResultTable.cc.org # original
source file
-rw-r--r-- 1 xtrnaw7 users 26718 Aug 13 11:42
ResultTable.cc.gc7x #
source w/ corrections for gcc 7.x
[xtrnaw7@t61p pchar-1.5]$
|
http://www.kitchenlab.org/www/bmah/Software/pchar/
|
perftools
|
(2017/12/19)
|
2017
|
cli |
Performance analysis
tools based on Linux perf_events (aka perf) and ftrace
(Brendan Gregg)
|
https://github.com/brendangregg/perf-tools
|
pigz
|
2.8.0
|
2023
|
cli |
parallel gzip
|
http://zlib.net/pigz/
|
pktstat
|
1.8.5
|
2012
|
cli |
pktstat displays a
real-time list of active connections seen on a network
interface, and how much bandwidth is being used by what.
It partially decodes HTTP and FTP protocols to show what
filename is being transferred, as well as X11
application names. Entries hang around on the screen for
a few seconds so you can see what just happened, in
short a very useful tool to figure out network
connection in real time.
|
http://linuxpoison.blogspot.de/2010/12/top-like-utility-to-monitor-network.html
|
powertop
|
2.13
|
2020
|
cli |
PowerTOP is a Linux tool to diagnose issues with
power consumption and power management.
In addition to being a diagnostic tool, PowerTOP also
has an interactive mode where the user can experiment
various power management settings for cases where the
Linux distribution has not enabled these settings.
Hints for compiling powertop 2.8 and older
Neccessary changes in main.cpp to compile in GCC 7.x:
[xtrnaw7@t540p
/var/tmp/jwm/src/powertop-2.6.1/src]$ diff
main.cpp main.cpp.org
420c420
<
sprintf(workload, "%s", optarg
? optarg : (char *)'\0' );
---
>
sprintf(workload, "%s", optarg
? optarg :'\0' );
[xtrnaw7@t540p
/var/tmp/jwm/src/powertop-2.6.1/src]$
|
https://01.org/powertop/
|
powerstat
|
0.04.02
|
2024
|
cli |
"Powerstat measures the
power consumption of a machine using the battery stats
or the Intel RAPL interface. The output is like vmstat
but also shows power consumption statistics. At the end
of a run, powerstat will calculate the average, standard
deviation and min/max of the gathered data." |
https://github.com/ColinIanKing/powerstat
|
procdump |
3.2.0
|
2024 |
cli |
ProcDump is a Linux
reimagining of the classic ProcDump tool from the
Sysinternals suite of tools for Windows. ProcDump
provides a convenient way for Linux developers to create
core dumps of their application based on performance
triggers.
Hints for compiling procdump
The version 1.2 of procdump can not be compiled on OS
versions without definition for PTRACE_SEIZE in the
file /usr/include/sys/ptrace.h.
In this case the compile script compiles the version
1.1.1 of procdump
Hints for compiling procdump 1.0
Changes for the source code and make file done in
version 1.0 are:
[xtrnaw7@rhel7-001 procdump-1.0.0]$ diff
Makefile Makefile.org
3c3
< CFLAGS=-I ./include -pthread -lrt
---
> CFLAGS=-I ./include -pthread
[xtrnaw7@rhel7-001 procdump-1.0.0]$
[xtrnaw7@t540p /var/tmp/jwm/src/procdump-1.0.0/src]$
diff ProcDumpConfiguration.c
ProcDumpConfiguration.c.org
461,462c461
< int i ;
< for (i = 0; i <
self->nThreads; i++) {
---
> for (int i = 0; i <
self->nThreads; i++) {
588,589c587,588
< int i ;
< for (i = 0; i <
strLen; i++) {
---
>
> for (int i = 0; i <
strLen; i++) {
[xtrnaw7@t540p /var/tmp/jwm/src/procdump-1.0.0/src]$
40p /var/tmp/jwm/src/procdump-1.0.0/src]$
diff CoreDumpWriter.c CoreDumpWriter.c.org
184c184
<
int j;
---
>
186c186
<
for(j = 0; j < i; j++){
---
>
for(int j = 0; j < i; j++){
|
https://github.com/Microsoft/ProcDump-for-Linux |
procenv
|
0.58
|
2016
|
cli
|
dump the current environment (see
homepage for details)
|
http://ifdeflinux.blogspot.com/2012/10/procenv-and-process-environment.html
|
prtdiag
|
1.2
|
2003
|
cli |
prtdiag is a little
script that displays the hardware configuration and
status of a running machine.
|
|
pspy
|
1.2
|
2019
|
cli
|
pspy - unprivileged Linux process
snooping
|
https://github.com/DominicBreuker/pspy
Note:
The tar archive only contains the binary because the
source file is in written in go. The source code is
available on the website.
|
scanlogd
|
2.2.7
|
2012
|
cli
|
"scanlogd is a TCP port scan detection tool, originally
designed to illustrate various attacks an IDS developer
has to deal with, for a Phrack
Magazine article. Thus, unlike some of the other
port scan detection tools out there, scanlogd is
designed to be totally safe to use." |
https://www.openwall.com/scanlogd/
|
screen
|
4.9.1
|
|
cli |
screen is a full-screen
window manager that multiplexes a physical terminal
between several processes, typically interactive shells.
Hints for compiling screen
To compile screen the include file /usr/include/sys/stropts.h
is necessary but in standard Linux distributions this
file does not exist. To get around this bug do
sudo mkdir -p /usr/include/sys
sudo touch /usr/include/sys/stropts.h
|
https://www.gnu.org/software/screen/
|
smartmontools
|
6.6
|
2017
|
cli |
smartmontools contains
utility programs (smartctl, smartd) to control/monitor
storage systems using the Self-Monitoring, Analysis and
Reporting Technology System (S.M.A.R.T.) built into most
modern ATA and SCSI disks. It is derived from
smartsuite. |
http://sourceforge.net/projects/smartmontools/
|
smem
|
1.4
|
2013
|
cli |
smem is a tool that can give numerous reports on
memory usage on Linux systems. Unlike existing tools,
smem can report proportional set size (PSS),
which is a more meaningful representation of the
amount of memory used by libraries and applications in
a virtual memory system.
Because large portions of physical memory are
typically shared among multiple applications, the
standard measure of memory usage known as resident set
size (RSS) will significantly overestimate memory
usage. PSS instead measures each application's "fair
share" of each shared area to give a realistic
measure.
|
https://www.selenic.com/smem/
|
smemstat
|
0.02.13
|
2024
|
cli |
Smemstat reports the
physical memory usage taking into consideration shared
memory. The tool can either report a current snapshot of
memory usage or periodically dump out any changes in
memory.
|
https://github.com/ColinIanKing/smemstat
|
sockperf
|
3.7
|
2020
|
cli
|
sockperf is a network benchmarking
utility over socket API that was designed for testing
performance (latency and throughput) of high-performance
systems (it is also good for testing performance of
regular networking systems as well). It covers most of
the socket API calls and options.
Hints for compiling sockperf 3.5
See here if
using gcc 11 or newer
|
https://github.com/Mellanox/sockperf
|
sockstat
|
0.4.1-1
|
2019
|
cli
|
"Sockstat is a tool to let you view
information about open connections. It is similar to the
tool of the same name that is included in FreeBSD,
trying to faithfully reproduce as much functionality as
is possible."
|
https://packages.debian.org/unstable/main/sockstat
Source:
https://packages.debian.org/source/sid/sockstat |
stress
|
1.0.4
|
2014
|
cli |
stress is a
deliberately simple workload generator for POSIX
systems. It imposes a configurable amount of CPU,
memory, I/O, and disk stress on the system. It is
written in C, and is free software licensed under the
GPLv2. |
|
stress-ng
|
0.17.05
|
2024
|
cli |
stress-ng will stress
test a computer system in various selectable ways.
Hints for compiling stress-ng
If you get the error message
stress-rdrand.c:49: Error: no such instruction:
`rdrand %rax'
then the installed binutils are too old. Update the
binutils (see Links_to
libraries neccessary for JWM below) and
try again
13.08.2017 /bs
Changes in stress-fp-error.c from
version 0.07.14 to successfully compile in ArcLinux
with
[xtrnaw7@t61p /var/tmp/jwm/src/stress-ng-0.07.14]$
uname -a
Linux t61p 4.12.6-1-ARCH #1 SMP PREEMPT Sat
Aug 12 09:16:22 CEST 2017 x86_64 GNU/Linux
[xtrnaw7@t61p /var/tmp/jwm/src/stress-ng-0.07.14]$
gcc --version
gcc (GCC) 7.1.1 20170630
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying
conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE.
[xtrnaw7@t540p
/var/tmp/jwm/src/stress-ng-0.07.14]$ diff
stress-fp-error.c stress-fp-error.c.org
30,44d29
< /*
< neccessary code for ArcLinux
(?) 13.08.2017/bs
< */
< #if !defined EDOM
< # define EDOM
33 /* Math argument
out of domain of function. */
< #endif
<
< #if !defined ERANGE
< # define ERANGE
34 /* Math result not
representable. */
< #endif
<
< /*
< end of work around for ArcLinux
< */
<
18.08.2018 /bs
stress-ng needs a GCC version that supports
this:
#pragma GCC diagnostic not allowed inside
functions
The GCC version in Centos 6.9 does not support that.
Therefor stress-ng must be compiled with a newer GCC
version in Centos 6.9 (see Required GCC version
on how to install a newer GCC version):
scl enable devtoolset-7 bash
cd /var/tmp/jwm/compile_scripts
&& ./compile_stress-ng.sh
05.09.2020 /bs
New versions of stress-ng require O_PATH
to be defined. But O_PATH is not defined in older
Linux versions. Therefor the compile script for stress-ng
checks if O_PATH is defined in the file /usr/include/asm-generic/fcntl.h
. If O_PATH is not defined the compile script
will compile an older version of stress-ng;
the source code for the older version of stress-ng
is in the directory ${JWM_DIR}/src/old/stress-ng-without_O_PATH.
(see also here)
|
https://github.com/ColinIanKing/stress-ng
|
sysfsutils |
2.1.0 |
2006 |
cli |
This package's purpose is
to provide a set of utilities for interfacing with sysfs |
https://sourceforge.net/projects/linux-diag/files/sysfsutils/ |
sysstat
|
12.7.2
|
2023
|
cli |
misc. tools :
cifsiostat mpstat iostat pidstat sysstat tapestat
Hints for compiling sysstat
18.08.2018 /bs
sysstat needs a GCC version that supports the __builtin_bswap16.
The GCC version in Centos 6.9 does not support that.
Therefor sysstat must be compiled with a newer GCC
version in Centos 6.9 (see Required GCC version on how
to install a newer GCC version):
scl enable devtoolset-7 bash
cd /var/tmp/jwm/compile_scripts
&& ./compile_sysstat.sh
|
http://sebastien.godard.pagesperso-orange.fr/
|
tcpick
|
0.2.1
|
2021
|
cli
|
tcpick is a textmode sniffer libpcap-based that can
track, reassemble and reorder tcp streams.
Note :
All patches from this page are applied:
https://aur.archlinux.org/packages/tcpick/#comment-804158
|
http://tcpick.sourceforge.net/
|
t50
|
5.8.8
|
2020
|
cli |
T50 - Experimental Mixed
Packet Injector
T50 (f.k.a. F22 Raptor) is a tool designed to perform
"Stress Testing"
|
https://gitlab.com/fredericopissarra/t50
|
tcptrack |
1.4.2 |
2004
|
cli |
Monitor TCP connections
on the network
|
no home page
|
tcpdump |
4.99.4 |
2023
|
cli
|
a powerful command-line
packet analyzer |
http://www.tcpdump.org/ |
testssl.sh |
3.0.6 |
2021 |
cli |
testssl.sh is a free
command line tool which checks a server's service on any
port for the support of TLS/SSL ciphers, protocols as
well as recent cryptographic flaws and more. |
https://testssl.sh/ |
tgkill
|
|
2014
|
cli
|
Simple command line tool to invoke tgkill(2)
|
https://github.com/ankon/tgkill
|
tiptop
|
2.3
|
|
cli |
tiptop is a performance
monitoring tool for Linux. It provides a dynamic
real-time view of the tasks running in the system.
tiptop is very similar to the top utility, but most of
the information displayed comes from hardware counters.
Requirements: Linux 2.6.31+
|
http://tiptop.gforge.inria.fr/
|
trace-cmd
|
2.7
|
2018
|
cli
|
trace-cmd: A front-end for Ftrace
see also Using
the ftrace interface with shell
|
https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git/
|
|
|
|
|
|
|
wavemon |
0.8.0 |
2008
|
cli |
WLAN monitor |
http://freecode.com/projects/wavemon/ |
zmap
|
2.1.1
|
2017
|
cli
|
a fast single packet network scanner
designed for Internet-wide network surveys |
https://github.com/zmap/zmap
see also
https://github.com/zmap/zmap/wiki |
Note:
The scripts in the directory
./scripts not listed in the
table above are part of one of the tools listed below
These files/scripts can be used as template for new scripts
Script
/ file
|
Purpose
|
Comment
|
./develop/scriptt_mini.sh
|
simple kornshell script
template with only the most useful functions
|
|
./develop/scriptt.sh
|
complex kornshell script
template with lots of predefined variables and functions
|
|
./develop/send_monitor_login_mail.sh
|
a sample script to
monitor a log file
|
|
./compile_scripts/compile_tool.template
|
a template for new compile scripts
|
|
This table list the files and scripts that make up the JWM /
Linux environment:
File
|
Type
|
Purpose
|
Comment
|
compile_tools.sh
|
script
|
simple wrapper script for
make_tools.sh
|
|
|
|
|
|
create_archive.sh
|
script
|
create a new
archive
|
|
init_session
|
script
|
start a JWM / Linux session
|
|
JWM_DESC
|
textfile
|
contains the description
of the archive; this file will be (re)created by
create_archive.sh before creating the new archive
|
|
jwm_env
|
include script
|
this is the include
script for all other scripts in JWM / Linux that defines
the necessary variables and some general functions
|
|
JWM_Linux_documentation.html
|
HTML page
|
this file
|
|
README
|
textfile
|
readme file for JWM /
Linux
|
|
VERSION
|
textfile
|
contains the version of
the JWM / Linux archive
|
|
NO_COMPILE_LIST
|
textfile
|
file with the list of
packages that should not
be compiled
|
|
compile_scripts/make_tools.sh |
|
main script to compile the tools
|
|
compile_scripts/check_compile_status
|
script
|
view the compile status
|
|
compile_scripts/compile_<toolname>.sh |
script
|
compile the tool
<toolname>
|
|
compile_scripts/start_compiling.sh
|
script
|
help script for the
compile process
Note:
This script is used to compile the libraries included in
JWM / Linux and copy the required OS libraries to the
JWM / Linux lib directory.
|
|
compile_scripts/jwml_include.inc |
script
|
include script for the
compile scripts
|
|
compile_scripts/compile_tool.template
|
script
|
template for a compile
script
|
|
./lib/_DO_NOT_COPY_LIBS_
|
file
|
semaphore file to request
make_tools.sh NOT to copy the OS libraries
|
|
compile_scripts/OS_LIBS
|
textfile
|
list of OS libraries that
should be copied to the JWM / Linux lib directory
|
|
The JWM / Linux init script
init_session
defines the following aliase:
Alias
|
Purpose
|
Comment
|
jwm_version
|
print the version of the
installed JWM archive
|
|
jwm_tools
|
list the tools in the
current JWM environment
|
|
jwm_dir
|
print the the JWM / Linux
base directory
|
|
jwm_home
|
change the working
directory to the JWM / Linux base directory
|
|
|
|
|
This section contains the usage and some usage examples for the
tools included in JWM / Linux. For more indepth information see
either the man page or the documentation on the websites for the
tools.
Note:
Most of the examples are copied from the documentation for the
tools.
ack is a replacement for grep written in Perl.
ack usage
[xtrnaw7@t15g /var/tmp/jwm]$ ./scripts/ack --help
Usage: ack [OPTION]... PATTERN [FILES OR DIRECTORIES]
Search for PATTERN in each source file in the tree from the
current
directory on down. If any files or directories are
specified, then
only those files and directories are checked. ack may
also search
STDIN, but only if no file or directory arguments are
specified,
or if one of them is "-".
Default switches may be specified in an .ackrc file. If you
want no dependency
on the environment, turn it off with --noenv.
File select actions:
-f
Only print the files selected, without
searching. The PATTERN must not be specified.
-g
Same as -f, but only select files matching
PATTERN.
File listing actions:
-l,
--files-with-matches Print
filenames with at least one match
-L, --files-without-matches Print
filenames with no matches
-c,
--count
Print filenames and count of matching lines
Searching:
-i,
--ignore-case
Ignore case distinctions in PATTERN
-S,
--[no]smart-case
Ignore case distinctions in PATTERN,
only if PATTERN contains no upper case.
Ignored if -i or -I are specified.
-I,
--no-ignore-case
Turns on case-sensitivity in PATTERN.
Negates -i and --smart-case.
-v,
--invert-match
Invert match: select non-matching lines
-w,
--word-regexp
Force PATTERN to match only whole words
-Q,
--literal
Quote all metacharacters; PATTERN is literal
--range-start
PATTERN
Specify PATTERN as the start of a match range.
--range-end
PATTERN
Specify PATTERN as the end of a match range.
--match
PATTERN
Specify PATTERN explicitly. Typically omitted.
Search output:
--output=expr
Output the evaluation of expr for each line
(turns off text highlighting)
-o
Show only the part of a line matching PATTERN
Same as --output='$&'
--passthru
Print all lines, whether matching or not
-m,
--max-count=NUM
Stop searching in each file after NUM matches
-1
Stop searching after one match of any kind
-H,
--with-filename
Print the filename for each match (default:
on unless explicitly searching a single file)
-h,
--no-filename
Suppress the prefixing filename on output
--[no]column
Show the column number of the first match
-A NUM, --after-context=NUM Print NUM
lines of trailing context after
matching lines.
-B NUM, --before-context=NUM Print NUM lines of
leading context before
matching lines.
-C [NUM], --context[=NUM]
Print NUM lines (default 2) of output context.
--print0
Print null byte as separator between filenames,
only works with -f, -g, -l, -L or -c.
-s
Suppress error messages about nonexistent or
unreadable files.
File presentation:
--pager=COMMAND
Pipes all ack output through COMMAND. For
example, --pager="less -R". Ignored if output
is redirected.
--nopager
Do not send output through a pager. Cancels
any setting in ~/.ackrc, ACK_PAGER or
ACK_PAGER_COLOR.
--[no]heading
Print a filename heading above each file's
results. (default: on when used interactively)
--[no]break
Print a break between results from different
files. (default: on when used interactively)
--group
Same as --heading --break
--nogroup
Same as --noheading --nobreak
-p,
--proximate=LINES
Separate match output with blank lines unless
they are within LINES lines from each other.
-P,
--proximate=0
Negates --proximate.
--[no]underline
Print a line of carets under the matched text.
--[no]color, --[no]colour
Highlight the matching text (default: on unless
output is redirected, or on Windows)
--color-filename=COLOR
--color-match=COLOR
--color-colno=COLOR
--color-lineno=COLOR
Set the color for filenames, matches, line and
column numbers.
--help-colors
Show a list of possible color combinations.
--help-rgb-colors
Show a list of advanced RGB colors.
--flush
Flush output immediately, even when ack is used
non-interactively (when output goes to a pipe or
file).
File finding:
--sort-files
Sort the found files lexically.
--show-types
Show which types each file has.
--files-from=FILE
Read the list of files to search from FILE.
-x
Read the list of files to search from STDIN.
File inclusion/exclusion:
--[no]ignore-dir=name
Add/remove directory from list of ignored dirs
--[no]ignore-directory=name Synonym for
ignore-dir
--ignore-file=FILTER:ARGS Add
filter for ignoring files.
-r, -R,
--recurse
Recurse into subdirectories (default: on)
-n,
--no-recurse
No descending into subdirectories
--[no]follow
Follow symlinks. Default is off.
File type inclusion/exclusion:
-t X,
--type=X
Include only X files, where X is a filetype,
e.g. python, html, markdown, etc
-T X,
--type=noX
Exclude X files, where X is a filetype.
-k,
--known-types
Include only files of types that ack recognizes.
--help-types
Display all known types, and how they're defined.
File type specification:
--type-set=TYPE:FILTER:ARGS Files with
the given ARGS applied to the given
FILTER are recognized as being of type TYPE.
This replaces an existing definition for TYPE.
--type-add=TYPE:FILTER:ARGS Files with
the given ARGS applied to the given
FILTER are recognized as being type TYPE.
--type-del=TYPE
Removes all filters associated with TYPE.
Miscellaneous:
--version
Display version & copyright
--[no]env
Ignore environment variables and global ackrc
files. --env is legal but redundant.
--ackrc=filename
Specify an ackrc file to use
--ignore-ack-defaults
Ignore default definitions included with ack.
--create-ackrc
Outputs a default ackrc for your customization
to standard output.
--dump
Dump information on which options are loaded
and where they're defined.
--[no]filter
Force ack to treat standard input as a pipe
(--filter) or tty (--nofilter)
--help
This help
--man
Print the manual.
--help-types
Display all known types, and how they're defined.
--help-colors
Show a list of possible color combinations.
--help-rgb-colors
Show a list of advanced RGB colors.
--thpppt
Bill the Cat
--bar
The warning admiral
--cathy
Chocolate! Chocolate! Chocolate!
Filter specifications:
If FILTER is "ext", ARGS is a list of
extensions checked against the
file's extension.
If FILTER is "is", ARGS must match the
file's name exactly.
If FILTER is "match", ARGS is matched as
a case-insensitive regex
against the
filename.
If FILTER is "firstlinematch", ARGS is
matched as a regex the first
line of the
file's contents.
Exit status is 0 if match, 1 if no match.
ack's home page is at https://beyondgrep.com/
The full ack manual is available by running "ack --man".
This is version v3.5.0 of ack. Run "ack --version" for
full version info.
[xtrnaw7@t15g /var/tmp/jwm]$
"Amap is a next-generation scanning tool for pentesters.
It attempts to identify applications even if they are running on
a different port than normal.
It also identifies non-ascii based applications. This is
achieved by sending trigger packets, and looking up the
responses in a list of response strings. "
amap usage
[xtrnaw7@t540p /var/tmp/jwm/src/amap-5.4]$
/var/tmp/jwm/bin/amap -h
amap v5.4 (c) 2011 by van Hauser <vh@thc.org>
www.thc.org/thc-amap
Syntax: /var/tmp/jwm/bin/amap [-A|-B|-P|-W] [-1buSRHUdqv]
[[-m] -o <file>] [-D <file>] [-t/-T sec] [-c
cons] [-C retries] [-p proto] [-i <file>] [target port
[port] ...]
Modes:
-A
Map applications: send triggers and analyse responses
(default)
-B
Just grab banners, do not send triggers
-P No
banner or application stuff - be a (full connect) port
scanner
Options:
-1
Only send triggers to a port until 1st identification.
Speeeeed!
-6
Use IPv6 instead of IPv4
-b
Print ascii banner of responses
-i FILE Nmap machine readable
outputfile to read ports from
-u
Ports specified on commandline are UDP (default is TCP)
-R / -S Do NOT identify RPC / SSL
services
-H Do
NOT send application triggers marked as potentially harmful
-U Do
NOT dump unrecognised responses (better for scripting)
-d
Dump all responses
-v
Verbose mode, use twice (or more!) for debug (not
recommended :-)
-q Do
not report closed ports, and do not print them as
unidentified
-o FILE [-m] Write output to file FILE, -m creates
machine readable output
-c CONS Amount of parallel
connections to make (default 32, max 256)
-C RETRIES Number of reconnects on connect timeouts
(see -T) (default 3)
-T SEC Connect timeout on
connection attempts in seconds (default 5)
-t SEC Response wait timeout
in seconds (default 5)
-p PROTO Only send triggers for this
protocol (e.g. ftp)
TARGET PORT The target address and
port(s) to scan (additional to -i)
amap is a tool to identify application protocols on target
ports.
Usage hint: Options "-bqv" are recommended, add "-1" for
fast/rush checks.
[xtrnaw7@t540p /var/tmp/jwm/src/amap-5.4]$
arp-scan is a command-line tool for system discovery
and fingerprinting. It constructs and sends ARP requests to
the specified IP addresses, and displays any responses that
are received.
arp-scan usage
[xtrnaw7@t540p /var/tmp/jwm/src/arp-scan-1.10.1]$
/var/tmp/jwm/bin/arp-scan --help
Usage: arp-scan [options] [hosts...]
Target hosts must be specified on the command line unless
the --file option is
given, in which case the targets are read from the specified
file instead, or
the --localnet option is used, in which case the targets are
generated from
the network interface IP address and netmask.
You will need to be root, or arp-scan must be SUID root, in
order to run
arp-scan, because the functions that it uses to read and
write packets
require root privilege.
The target hosts can be specified as IP addresses or
hostnames. You can also
specify the target as IPnetwork/bits (e.g. 192.168.1.0/24)
to specify all hosts
in the given network (network and broadcast addresses
included), or
IPstart-IPend (e.g. 192.168.1.3-192.168.1.27) to specify all
hosts in the
inclusive range, or IPnetwork:NetMask (e.g.
192.168.1.0:255.255.255.0) to
specify all hosts in the given network and mask.
These different options for specifying target hosts may be
used both on the
command line, and also in the file specified with the --file
option.
Options:
Note: where an option takes a value, that value is specified
as a letter in
angle brackets. The letter indicates the type of data that
is expected:
<s> A character string, e.g. --file=hostlist.txt.
<i> An integer, which can be specified as a decimal
number or as a hexadecimal
number if preceded with 0x, e.g.
--arppro=2048 or --arpro=0x0800.
<f> A floating point decimal number, e.g.
--backoff=1.5.
<m> An Ethernet MAC address, which can be specified
either in the format
01:23:45:67:89:ab, or as
01-23-45-67-89-ab. The alphabetic hex characters
may be either upper or lower case. E.g.
--arpsha=01:23:45:67:89:ab.
<a> An IPv4 address, e.g. --arpspa=10.0.0.1
<h> Binary data specified as a hexadecimal string,
which should not
include a leading 0x. The alphabetic hex
characters may be either
upper or lower case. E.g.
--padding=aaaaaaaaaaaa
<x> Something else. See the description of the option
for details.
--help or -h Display
this usage message and exit.
--file=<s> or -f <s> Read
hostnames or addresses from the specified file
instead of from the command line. One name or IP
address per line. Use "-" for standard input.
--localnet or -l Generate addresses from
network interface configuration.
Use
the network interface IP address and network mask
to
generate the list of target host addresses.
The
list will include the network and broadcast
addresses, so an interface address of 10.0.0.1 with
netmask 255.255.255.0 would generate 256 target
hosts from 10.0.0.0 to 10.0.0.255 inclusive.
If
you use this option, you cannot specify the --file
option or specify any target hosts on the command line.
The
interface specifications are taken from the
interface that arp-scan will use, which can be
changed with the --interface option.
--retry=<i> or -r <i> Set
total number of attempts per host to <i>,
default=2.
--retry-send=<i> or -Y <i> Set total number of
send packet attempts to <i>,
default=20.
--retry-send-interval=<i> or -E <i> Set interval
between send packet attempts to <i>.
The
interval specified is in milliseconds by default.
or
in microseconds if "u" is appended to the value.
default=5.
--timeout=<i> or -t <i> Set
initial per host timeout to <i> ms, default=500.
This timeout is for the first packet sent to each host.
subsequent timeouts are multiplied by the backoff
factor which is set with --backoff.
--interval=<x> or -i <x> Set minimum packet
interval to <x>.
This controls the outgoing bandwidth usage by limiting
the
rate at which packets can be sent. The packet
interval will be no smaller than this number.
If
you want to use up to a given bandwidth, then it is
easier to use the --bandwidth option instead.
The
interval specified is in milliseconds by default,
or
in microseconds if "u" is appended to the value.
--bandwidth=<x> or -B <x> Set desired outbound
bandwidth to <x>, default=256000.
The
value is in bits per second by default. If you
append "K" to the value, then the units are kilobits
per
sec; and if you append "M" to the value, the
units are megabits per second.
The
"K" and "M" suffixes represent the decimal, not
binary, multiples. So 64K is 64000, not 65536.
You
cannot specify both --interval and --bandwidth
because they are just different ways to change the
same underlying parameter.
--backoff=<f> or -b <f> Set
timeout backoff factor to <f>, default=1.50.
The
per-host timeout is multiplied by this factor
after each timeout. So, if the number of retries
is
3, the initial per-host timeout is 500ms and the
backoff factor is 1.5, then the first timeout will be
500ms, the second 750ms and the third 1125ms.
--verbose or -v Display
verbose progress messages.
Use
more than once for greater effect:
1 -
Display the network address and mask used when the
--localnet option is specified, display
any
nonzero packet padding, display packets
received
from unknown hosts, and show when each
pass through
the list completes.
2 -
Show each packet sent and received, when entries
are removed from the list, the pcap
filter string,
and counts of MAC/Vendor mapping entries.
3 -
Display the host list before scanning starts.
--version or -V Display
program version and exit.
--random or -R
Randomise the host list.
This option randomises the order of the hosts in the
host list, so the ARP packets are sent to the hosts in
a
random order. It uses the Knuth shuffle algorithm.
--randomseed=<i> Use <i> to
seed the pseudo random number generator.
This option seeds the PRNG with the specified number,
which can be useful if you want to ensure that the
random host list is reproducible. By default, the PRNG
is
seeded with an unpredictable value. This option is
only effective in conjunction with the --random (-R)
option.
--numeric or -N IP
addresses only, no hostnames.
With this option, all hosts must be specified as
IP
addresses. Hostnames are not permitted. No DNS
lookups will be performed.
--snap=<i> or -n <i> Set the
pcap snap length to <i>. Default=64.
This specifies the frame capture length. This
length includes the data-link header.
The
default is normally sufficient.
--interface=<s> or -I <s> Use network interface
<s>.
If
this option is not specified, arp-scan will search
the
system interface list for the lowest numbered,
configured up interface (excluding loopback).
The
interface specified must support ARP.
--quiet or -q Only
display minimal output. No protocol decoding.
If
this option is specified, then only the IP address
and
MAC address are displayed for each responding host.
No
protocol decoding is performed and the OUI mapping
files are not used.
--plain or -x Display
plain output showing only responding hosts.
This option suppresses the printing of the header and
footer text, and only displays one line for each
responding host. Useful if the output will be
parsed by a script.
--ignoredups or -g Don't display duplicate
packets.
By
default, duplicate packets are displayed and are
flagged with "(DUP: n)".
--ouifile=<s> or -O <s> Use
IEEE Ethernet OUI to vendor mapping file <s>.
If
this option is not specified, the default filename
is
ieee-oui.txt in the current directory. If that is
not
found, then the file
//var/tmp/jwm/share/arp-scan/ieee-oui.txt is used.
--iabfile=<s> or -O <s> Use
IEEE Ethernet IAB to vendor mapping file <s>.
If
this option is not specified, the default filename
is
ieee-iab.txt in the current directory. If that is
not
found, then the file
//var/tmp/jwm/share/arp-scan/ieee-iab.txt is used.
--macfile=<s> or -O <s> Use
custom Ethernet MAC to vendor mapping file <s>.
If
this option is not specified, the default filename
is
mac-vendor.txt in the current directory. If that is
not
found, then the file
//var/tmp/jwm/share/arp-scan/mac-vendor.txt is used.
--srcaddr=<m> or -S <m> Set the source Ethernet
MAC address to <m>.
This sets the 48-bit hardware address in the Ethernet
frame header for outgoing ARP packets. It does not
change the hardware address in the ARP packet, see
--arpsha for details on how to change that address.
The
default is the Ethernet address of the outgoing
interface.
--destaddr=<m> or -T <m> Send the packets to
Ethernet MAC address <m>
This sets the 48-bit destination address in the
Ethernet frame header.
The
default is the broadcast address ff:ff:ff:ff:ff:ff.
Most operating systems will also respond if the ARP
request is sent to their MAC address, or to a
multicast address that they are listening on.
--arpsha=<m> or -u <m> Use
<m> as the ARP source Ethernet address
This sets the 48-bit ar$sha field in the ARP packet
It
does not change the hardware address in the frame
header, see --srcaddr for details on how to change
that address. The default is the Ethernet address of
the
outgoing interface.
--arptha=<m> or -w <m> Use
<m> as the ARP target Ethernet address
This sets the 48-bit ar$tha field in the ARP packet
The
default is zero, because this field is not used
for
ARP request packets.
--prototype=<i> or -y <i> Set the Ethernet
protocol type to <i>, default=0x0806.
This sets the 16-bit protocol type field in the
Ethernet frame header.
Setting this to a non-default value will result in the
packet being ignored by the target, or sent to the
wrong protocol stack.
--arphrd=<i> or -H <i> Use
<i> for the ARP hardware type, default=1.
This sets the 16-bit ar$hrd field in the ARP packet.
The
normal value is 1 (ARPHRD_ETHER). Most, but not
all, operating systems will also respond to 6
(ARPHRD_IEEE802). A few systems respond to any value.
--arppro=<i> or -p <i> Use
<i> for the ARP protocol type, default=0x0800.
This sets the 16-bit ar$pro field in the ARP packet.
Most operating systems only respond to 0x0800 (IPv4)
but
some will respond to other values as well.
--arphln=<i> or -a <i> Set the
hardware address length to <i>, default=6.
This sets the 8-bit ar$hln field in the ARP packet.
It
sets the claimed length of the hardware address
in
the ARP packet. Setting it to any value other than
the
default will make the packet non RFC compliant.
Some operating systems may still respond to it though.
Note that the actual lengths of the ar$sha and ar$tha
fields in the ARP packet are not changed by this
option; it only changes the ar$hln field.
--arppln=<i> or -P <i> Set the
protocol address length to <i>, default=4.
This sets the 8-bit ar$pln field in the ARP packet.
It
sets the claimed length of the protocol address
in
the ARP packet. Setting it to any value other than
the
default will make the packet non RFC compliant.
Some operating systems may still respond to it though.
Note that the actual lengths of the ar$spa and ar$tpa
fields in the ARP packet are not changed by this
option; it only changes the ar$pln field.
--arpop=<i> or -o <i> Use
<i> for the ARP operation, default=1.
This sets the 16-bit ar$op field in the ARP packet.
Most operating systems will only respond to the value 1
(ARPOP_REQUEST). However, some systems will respond
to
other values as well.
--arpspa=<a> or -s <a> Use
<a> as the source IP address.
The
address should be specified in dotted quad format;
or
the literal string "dest", which sets the source
address to be the same as the target host address.
This sets the 32-bit ar$spa field in the ARP packet.
Some operating systems check this, and will only
respond if the source address is within the network
of
the receiving interface. Others don't care, and
will respond to any source address.
By
default, the outgoing interface address is used.
WARNING: Setting ar$spa to the destination IP address
can
disrupt some operating systems, as they assume
there is an IP address clash if they receive an ARP
request for their own address.
--padding=<h> or -A <h>
Specify padding after packet data.
Set
the padding data to hex value <h>. This data is
appended to the end of the ARP packet, after the data.
Most, if not all, operating systems will ignore any
padding. The default is no padding, although the
Ethernet driver on the sending system may pad the
packet to the minimum Ethernet frame length.
--llc or -L Use RFC
1042 LLC framing with SNAP.
This option causes the outgoing ARP packets to use
IEEE 802.2 framing with a SNAP header as described
in
RFC 1042. The default is to use Ethernet-II
framing.
arp-scan will decode and display received ARP packets
in
either Ethernet-II or IEEE 802.2 formats
irrespective of this option.
--vlan=<i> or -Q <i> Use
802.1Q tagging with VLAN id <i>.
This option causes the outgoing ARP packets to use
802.1Q VLAN tagging with a VLAN ID of <i>, which
should
be
in the range 0 to 4095 inclusive.
arp-scan will always decode and display received ARP
packets in 802.1Q format irrespective of this option.
--pcapsavefile=<s> or -W <s>
Write received packets to pcap savefile <s>.
This option causes received ARP responses to be written
to
the specified pcap savefile as well as being decoded
and
displayed. This savefile can be analysed with
programs that understand the pcap file format, such as
"tcpdump" and "wireshark".
--rtt or -D Display the
packet round-trip time.
Report bugs or send suggestions at
https://github.com/royhills/arp-scan
See the arp-scan homepage at
https://github.com/royhills/arp-scan
[xtrnaw7@t540p /var/tmp/jwm/src/arp-scan-1.10.1]$
arp-scan examples
[xtrnaw7@t540p
/var/tmp/jwm/src/arp-scan-1.10.1]$ sudo
/var/tmp/jwm/bin/arp-scan --interface=enp0s25 --localnet
Interface: enp0s25, type: EN10MB, MAC: 54:ee:75:05:d4:4e,
IPv4: 192.168.1.164
Starting arp-scan 1.9.7 with 256 hosts
(https://github.com/royhills/arp-scan)
192.168.1.1 78:94:b4:4f:b9:e4
Sercomm Corporation.
192.168.1.64
08:00:27:f7:c0:ac PCS Systemtechnik GmbH
192.168.1.151 1c:c1:de:83:dc:33
Hewlett Packard
192.168.1.170 8c:16:45:a0:d8:ee
LCFC(HeFei) Electronics Technology co., ltd
192.168.1.240 dc:a6:32:d2:3d:a4
Raspberry Pi Trading Ltd
192.168.1.249 00:92:58:00:72:67
(Unknown)
192.168.1.251 00:22:2d:7f:b0:8f
SMC Networks Inc.
192.168.1.253 b0:39:56:19:90:3e
NETGEAR
8 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.9.7: 256 hosts scanned in 1.915 seconds
(133.68 hosts/sec). 8 responded
[xtrnaw7@t540p /var/tmp/jwm/src/arp-scan-1.10.1]$
arping is a util to find out if a specific IP address on
the LAN is 'taken' and what MAC address owns it. Sure, you
*could* just use 'ping' to find out if it's taken and even if
the computer blocks ping (and everything else) you still get an
entry in your ARP cache. But what if you aren't on a routable
net? Or the host blocks ping (all ICMP even)? Then you're
screwed. Or you use arping.
arping usage
[xtrnaw7@t540p /data/download/arping-arping-2.x]$
./src/arping --help
ARPing 2.19, by Thomas Habets
<thomas@habets.se>
usage: arping [ -0aAbdDeFpPqrRuUv ] [ -w
<sec> ] [ -W <sec> ] [ -S <host/ip> ]
[ -T <host/ip ] [ -s <MAC> ] [ -t <MAC> ] [
-c <count> ]
[ -C <count> ] [ -i <interface> ] [ -m
<type> ] [ -g <group> ]
[ -V <vlan> ] [ -Q <priority> ] <host/ip/MAC
| -B>
Options:
-0 Use
this option to ping with source IP address 0.0.0.0. Use this
when you haven't configured your interface yet. Note
that this
may get the MAC-ping
unanswered. This is an alias for -S
0.0.0.0.
-a
Audiable ping.
-A
Only count addresses matching requested
address (This *WILL*
break most things you do. Only useful if you are
arpinging many
hosts at once. See arping-scan-net.sh for an example).
-b
Like -0 but source broadcast source address
(255.255.255.255).
Note that this may get the arping unanswered since it's not
nor-
mal behavior for a host.
-B Use
instead of host if you want to address 255.255.255.255.
-c count
Only send count requests.
-C count
Only wait for this many replies, regardless of -c and -w.
-d
Find duplicate replies. Exit with 1 if there are answers
from
two different MAC addresses.
-D
Display answers as exclamation points and missing packets as
dots.
-e
Like -a but beep when there is no reply.
-F
Don't try to be smart about the interface name.
(even if this
switch is not given, -i overrides smartness)
-g group
setgid() to this group instead of the nobody group.
-h
Displays a help message and exits.
-i interface
Use the specified interface.
-m type
Type of timestamp to use for incoming packets. Use -vv when
pinging to list available ones.
-q
Does not display messages, except error messages.
-Q pri 802.1p priority to set.
Should be used with 802.1Q (-V).
Defaults to 0.
-r Raw
output: only the MAC/IP address is displayed for each reply.
-R Raw
output: Like -r but shows "the other one", can
be combined
with -r.
-s MAC Set source MAC address.
You may need to use -p with this.
-S IP Like -b and
-0 but with set source address. Note that this may
get the arping unanswered if the target does not have
routing to
the IP. If you don't own the IP you are using,
you may need to
turn on promiscious mode on the interface (with -p).
With this
switch you can find out what IP-address a host has
without tak-
ing an IP-address yourself.
-t MAC Set target MAC address
to use when pinging IP address.
-T IP Use -T as target
address when pinging MACs that won't respond to
a broadcast ping but perhaps to a directed broadcast.
Example:
To check the address of MAC-A, use knowledge of MAC-B
and IP-B.
$ arping -S <IP-B> -s <MAC-B> -p <MAC-A>
-p
Turn on promiscious mode on
interface, use this if you don't
"own" the MAC address you are using.
-P
Send ARP replies instead of requests. Useful with -U.
-u
Show index=received/sent instead of just
index=received when
pinging MACs.
-U
Send unsolicited ARP.
-v
Verbose output. Use twice for more messages.
-V num 802.1Q tag to add.
Defaults to no VLAN tag.
-w sec Specify a timeout
before ping exits regardless of how many
packets have been sent or received.
-W sec Time to wait between
pings.
Report bugs to: thomas@habets.se
Arping home page:
<http://www.habets.pp.se/synscan/>
Development repo:
http://github.com/ThomasHabets/arping
[xtrnaw7@t540p /data/download/arping-arping-2.x]$
arping example
[xtrnaw7@t540p /var/tmp/jwm/sbin]$ ./arping
192.168.1.151
arping: libnet_init(LIBNET_LINK, <null>):
libnet_open_link(): UID/EUID 0 or capability CAP_NET_RAW
required
arping: you may need to run as root
[xtrnaw7@t540p /var/tmp/jwm/sbin]$ sudo ./arping
192.168.1.151
ARPING 192.168.1.151
60 bytes from 1c:c1:de:83:dc:24 (192.168.1.151):
index=0 time=219.432 usec
60 bytes from 1c:c1:de:83:dc:24 (192.168.1.151):
index=1 time=224.237 usec
60 bytes from 1c:c1:de:83:dc:24 (192.168.1.151):
index=2 time=204.635 usec
^C
--- 192.168.1.151 statistics ---
3 packets transmitted, 3 packets
received, 0% unanswered (0 extra)
rtt min/avg/max/std-dev = 0.205/0.216/0.224/0.008
ms
[xtrnaw7@t540p /var/tmp/jwm/sbin]$
atop is a replacement for top.
atop usage
[xtrnaw7@t15g /var/tmp/jwm/src]$ ../bin/atop --help
../bin/atop: invalid option -- '-'
Usage: ../bin/atop [-flags] [interval [samples]]
or
Usage: ../bin/atop -w file [-S] [-a] [interval
[samples]]
../bin/atop -r [file]
[-b [YYYYMMDD]hhmm[ss]] [-e [YYYYMMDD]hhmm[ss]] [-flags]
generic flags:
-B show bar graphs for
system statistics
-H show bar graphs without
categories
-V show version information
-a show or log all processes
(i.s.o. active processes only)
-R calculate proportional
set size (PSS) per process
-W determine WCHAN (string)
per thread
-P generate parsable output
for specified label(s)
-J generate JSON output for
specified label(s)
-Z no spaces in parsable
output for command (line)
-L alternate line length
(default 80) in case of non-screen output
-z prepend regex matching
environment variables to command line
-f show fixed number of
lines with system statistics
-F suppress sorting of
system resources
-G suppress exited processes
in output
-l show limited number of
lines for certain resources
-y show threads within
process
-Y sort threads (when
combined with 'y')
-1 show average-per-second
i.s.o. total values
-x no colors in case of high
occupation
-g show general process-info
(default)
-m show memory-related
process-info
-d show disk-related
process-info
-n show network-related
process-info
-s show scheduling-related
process-info
-v show various process-info
(ppid, user/group, date/time)
-c show command line per
process
-X show cgroup v2 info per
process
-o show own defined
process-info
-u show cumulated
process-info per user
-p show cumulated
process-info per program (i.e. same name)
-j show cumulated
process-info per container/pod
-C sort processes in order
of cpu consumption (default)
-M sort processes in order
of memory consumption
-D sort processes in order
of disk activity
-N sort processes in order
of network activity
-E sort processes in order
of GPU activity
-A sort processes in order
of most active resource (auto mode)
specific flags for raw logfiles:
-w write raw data
to file (compressed)
-r read raw data from
file (compressed)
symbolic
file: y[y...] for yesterday (repeated)
file name
'-': read raw data from stdin
-S finish atop automatically
before midnight (i.s.o. #samples)
-b begin showing data from
specified date/time
-e finish showing data after
specified date/time
interval: number of seconds
(minimum 0)
samples: number of intervals
(minimum 1)
If the interval-value is zero, a new sample can be
forced manually by sending signal USR1 (kill -USR1 pid_atop)
or with the keystroke 't' in interactive mode.
Please refer to the man-page of 'atop' for more details.
[xtrnaw7@t15g /var/tmp/jwm/src]$
bashtop is a "Resource monitor that shows usage and
stats for processor, memory, disks, network and
processes." (see also bpytop;
(see also the new C++ version of btop)
"
bmon is a monitoring and debugging tool to
capture networking related statistics and prepare them visually
in a human friendly way. It features various output methods
including an interactive curses user interface and a
programmable text output for scripting."
bmon usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/bin]$ ./bmon -h
bmon 3.9
Copyright (C) 2001-2015 by Thomas Graf
<tgraf@suug.ch>
Copyright (C) 2013 Red Hat, Inc.
bmon comes with ABSOLUTELY NO WARRANTY. This is free
software, and you
are welcome to redistribute it under certain conditions.
See the source
code for details.
Usage: bmon [OPTION]...
Options:
Startup:
-i,
--input=MODPARM
Input module(s)
-o,
--output=MODPARM
Output module(s)
-f,
--configfile=PATH
Alternative path to configuration file
-h,
--help
Show this help text
-V,
--version
Show version
Input:
-p,
--policy=POLICY
Element display policy (see below)
-a,
--show-all
Show all elements (even disabled elements)
-r,
--read-interval=FLOAT
Read interval in seconds (float)
-R,
--rate-interval=FLOAT
Rate interval in seconds (float)
-s,
--sleep-interval=FLOAT Sleep
time in seconds (float)
-L,
--lifetime=LIFETIME
Lifetime of an element in seconds (float)
Output:
-U,
--use-si
Use SI units
-b,
--use-bit
Display in bits instead of bytes
Module configuration:
modparm := MODULE:optlist,MODULE:optlist,...
optlist := option;option;...
option := TYPE[=VALUE]
Examples:
-o curses:ngraph=2
-o
list
# Shows a list of available modules
-o
curses:help # Shows a help text
for html module
Interface selection:
policy :=
[!]simple_regexp,[!]simple_regexp,...
Example: -p 'eth*,lo*,!eth1'
Please see the bmon(1) man pages for full documentation.
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/bin]$
"
Bonnie++ is a benchmark suite that is aimed at
performing a number of simple tests of hard drive and file
system performance. Then you can decide which test is important
and decide how to compare different systems after running it. I
have no plans to ever have it produce a single number, because I
don't think that a single number can be useful when comparing
such things.
The
main
program tests database type access to a single file (or a
set of files if you wish to test more than 1G of storage), and
it tests creation, reading, and deleting of small files which
can simulate the usage of programs such as Squid, INN, or
Maildir format email.
The
ZCAV
program which I initially released as a seperate package tests
the performance of different zones of a hard drive. It does not
write any data (so you can use it on full file systems). It can
show why comparing the speed of Windows at the start of a hard
drive to Linux at the end of the hard drive (typical dual-boot
scenario) isn't a valid comparison.
Bonnie++ was based on the code for
Bonnie by Tim
Bray. "
bonnie++ usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ bonnie++ -h
bonnie++: invalid option -- 'h'
usage: bonnie++ [-d scratch-dir] [-s
size(MiB)[:chunk-size(b)]]
[-n number-to-stat[:max-size[:min-size][:num-directories]]]
[-m machine-name]
[-r ram-size-in-MiB]
[-x number-of-tests] [-u uid-to-use:gid-to-use] [-g
gid-to-use]
[-q] [-f] [-b] [-D] [-p processes | -y]
Version: 1.03e
A python version of
bashtop. (see also
the new C++ version of
btop)
"
BusyBox combines tiny versions of many common UNIX
utilities into a single small executable. It provides
replacements for most of the utilities you usually find in GNU
fileutils, shellutils, etc. The utilities in BusyBox generally
have fewer options than their full-featured GNU cousins;
however, the options that are included provide the expected
functionality and behave very much like their GNU counterparts.
BusyBox provides a fairly complete environment for any small or
embedded system.
BusyBox has been written with size-optimization and limited
resources in mind. It is also extremely modular so you can
easily include or exclude commands (or features) at compile
time. This makes it easy to customize your embedded systems.
To create a working system, just add some device nodes in
/dev, a few configuration files in /etc, and a Linux kernel."
busybox is compiled for all supported tools; the binary and
links are in the directory ${JWM_DIR}/busybox.
Binaries combined in busybox
[xtrnaw7@t540p /var/tmp/jwm/busybox]$ ls
[
cttyhack
fsck
iprule
mkfs.vfat
raidautorun
sleep
ubirmvol
[[
cut
fsck.minix iptunnel
mknod
rdate
smemcap
ubirsvol
acpid
date
fstrim
kbd_mode
mkpasswd
rdev
softlimit
ubiupdatevol
addgroup
dc
fsync
kill
mkswap
readahead
sort
udhcpc
add-shell
dd
ftpd
killall
mktemp
readlink
split
udhcpd
adduser
deallocvt
ftpget
killall5
modinfo
readprofile start-stop-daemon udpsvd
adjtimex
delgroup
ftpput
klogd
modprobe
realpath
stat
uevent
ar
deluser
fuser
last
more
reboot
strings
umount
arp
depmod
getopt
less
mount
reformime
stty
uname
arping
devmem
getty
linux32
mountpoint remove-shell
su
uncompress
ash
df
grep
linux64
mpstat
renice
sulogin
unexpand
awk
dhcprelay
groups
linuxrc
mt
reset
sum
uniq
base64
diff
gunzip
ln
mv
resize
sv
unix2dos
basename
dirname
gzip
loadfont
nameif
rev
svlogd
unlink
beep
dmesg
halt
loadkmap
nanddump
rm
swapoff
unlzma
blkdiscard
dnsd
hd
logger
nandwrite
rmdir
swapon
unlzop
blkid
dnsdomainname hdparm
login
nbd-client
rmmod
switch_root
unshare
blockdev
dos2unix
head
logname
nc
route
sync
unxz
bootchartd
du
hexdump
logread
netstat
rpm
sysctl
unzip
brctl
dumpkmap
hostid
losetup
nice
rpm2cpio
syslogd
uptime
bunzip2
dumpleases
hostname
lpd
nmeter
rtcwake
tac
users
busybox
echo
httpd
lpq
nohup
runlevel
tail
usleep
bzcat
ed
hush
lpr
nsenter
run-parts
tar
uudecode
bzip2
egrep
hwclock
ls
nslookup
runsv
tcpsvd
uuencode
cal
eject
i2cdetect
lsattr
ntpd
runsvdir
tee
vconfig
cat
env
i2cdump
lsmod
od
rx
telnet
vi
catv
envdir
i2cget
lsof
openvt
script
telnetd
vlock
chat
envuidgid
i2cset
lspci
passwd
scriptreplay
test
volname
chattr
ether-wake
id
lsusb
patch
sed
tftp
wall
chgrp
expand
ifconfig
lzcat
pgrep
sendmail
tftpd
watch
chmod
expr
ifdown
lzma
pidof
seq
time
watchdog
chown
fakeidentd ifenslave
lzop
ping
setarch
timeout
wc
chpasswd
false
ifplugd
lzopcat
ping6
setconsole
top
wget
chpst
fatattr
ifup
makedevs pipe_progress
setfont
touch
which
chroot
fbset
inetd
makemime
pivot_root setkeycodes
tr
who
chrt
fbsplash
init
man
pkill
setlogcons
traceroute
whoami
chvt
fdflush
insmod
md5sum
pmap
setserial
traceroute6 whois
cksum
fdformat
install
mdev
popmaildir
setsid
true
xargs
clear
fdisk
ionice
mesg
poweroff
setuidgid
truncate
xz
cmp
fgconsole
iostat
microcom
powertop
sh
tty
xzcat
comm
fgrep
ip
mkdir
printenv
sha1sum
ttysize
yes
conspy
find
ipaddr
mkdosfs
printf
sha256sum
tunctl
zcat
cp
findfs
ipcalc
mke2fs
ps
sha3sum
tune2fs
zcip
cpio
flock
ipcrm
mkfifo
pscan
sha512sum ubiattach
crond
fold
ipcs
mkfs.ext2
pstree
showkey ubidetach
crontab
free
iplink mkfs.minix
pwd
shuf
ubimkvol
cryptpw
freeramdisk
iproute mkfs.reiser
pwdx
slattach ubirename
[xtrnaw7@t540p /var/tmp/jwm/busybox]$
busybox_httpd.sh is a script to start or stop the
busybox httpd daemon.
The current version of the script is always available
here.
The usage for the script
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/scripts]$
./busybox_httpd.sh --help
[25.10.2016 18:52 ] ### busybox_httpd.sh started at Tue Oct
25 18:52:07 CEST 2016
busybox_httpd.sh
Function: start or stop the busybox httpd daemon
Usage: busybox_httpd.sh
[-v|--verbose] [-q|--quiet] [-f|--force] [-p|--port
httpd_port] [-h|--home homedir] [-c|--config configfile]
[start [httpd_options]|stop|restart
[httpd_options]|status|daemon_help]
Parameter
-v - verbose mode
-q - quiet mode
-f - force execution
-p - port for httpd (default: 8080)
-h - home dir , default: ${JWM_DIR}/htdocs or
<script_dir>/../htdocs if JWM_DIR is not set
-c - config file, default: ${JWM_DIR}/etc or
<script_dir>/../etc/httpd.conf if JWM_DIR is not set
-C - config file like -c but do NOT change the
config file at all
httpd_options - additional options for starting
the httpd
daemon_help - list the usage help for the
busybox httpd daemon
The script searches the busybox binary in these
directories:
- the current working directory
- the directory with this script
- the directory ${JWM_DIR}/busybox
- the directory ${PWD}/../busybox
Author:
Bernd Schemmer (Bernd.Schemmer@gmx.de)
[25.10.2016 18:52 ] ### busybox_httpd.sh ended at Tue Oct 25
18:52:07 CEST 2016
Examples busybox_httpd.sh
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/scripts]$
./busybox_httpd.sh start
[25.10.2016 18:52 ] ### busybox_httpd.sh started at Tue Oct
25 18:52:14 CEST 2016
[25.10.2016 18:52 ] Using the busybox directory based on the
the environment variable JWM_DIR ("/var/tmp/jwm")
[25.10.2016 18:52 ] The busybox base directory is
/var/tmp/jwm
[25.10.2016 18:52 ] Starting the httpd daemon ...
[25.10.2016 18:52 ] Using the httpd home directory
/var/tmp/jwm/htdocs
[25.10.2016 18:52 ] Using the httpd config file
/var/tmp/jwm/etc/httpd.conf
[25.10.2016 18:52 ] The port to use for the httpd daemon is
8080
[25.10.2016 18:52 ] Preparing the environment to start the
busybox httpd with php support ...
[25.10.2016 18:52 ] Searching for the php-cgi binary ...
[25.10.2016 18:52 ] Using the PHP binary "/usr/bin/php-cgi"
...
+ ./busybox/httpd '' -p 8080 -c /tmp/httpd.8080.conf -h
/var/tmp/jwm/htdocs
+ 2>& 1
[25.10.2016 18:52 ] httpd daemon started; the PID is 573
[25.10.2016 18:52 ] Use http://localhost:8080 or
http://t540p:8080 to access the httpd in your Webbrowser
[25.10.2016 18:52 ] ### busybox_httpd.sh ended at Tue Oct 25
18:52:14 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/scripts]$
./busybox_httpd.sh status
[25.10.2016 18:52 ] ### busybox_httpd.sh started at Tue Oct
25 18:52:25 CEST 2016
[25.10.2016 18:52 ] Using the busybox directory based on the
the environment variable JWM_DIR ("/var/tmp/jwm")
[25.10.2016 18:52 ] The busybox base directory is
/var/tmp/jwm
[25.10.2016 18:52 ] The httpd daemon is running; the PID is
573
UID PID
PPID C STIME
TTY
TIME CMD
xtrnaw7 573
1 0 18:52 ?
00:00:00 ./busybox/httpd -p 8080 -c
/tmp/httpd.8080.conf -h /var/tmp/jwm/htdocs
[25.10.2016 18:52 ] The httpd daemon is listening on these
ports:
(Not all processes could be identified, non-owned process
info
will not be shown, you would have to be root to see it
all.)
tcp6
0 0
:::8080
:::*
LISTEN 573/./busybox/httpd
[25.10.2016 18:52 ] ### busybox_httpd.sh ended at Tue Oct 25
18:52:26 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/scripts]$
./busybox_httpd.sh stop
[25.10.2016 18:52 ] ### busybox_httpd.sh started at Tue Oct
25 18:52:29 CEST 2016
[25.10.2016 18:52 ] Using the busybox directory based on the
the environment variable JWM_DIR ("/var/tmp/jwm")
[25.10.2016 18:52 ] The busybox base directory is
/var/tmp/jwm
[25.10.2016 18:52 ] The httpd daemon is running; the PID is
573
[25.10.2016 18:52 ] Stopping the httpd daemon ...
[25.10.2016 18:52 ] ### busybox_httpd.sh ended at Tue Oct 25
18:52:30 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/scripts]$
./busybox_httpd.sh status
[25.10.2016 18:52 ] ### busybox_httpd.sh started at Tue Oct
25 18:52:33 CEST 2016
[25.10.2016 18:52 ] Using the busybox directory based on the
the environment variable JWM_DIR ("/var/tmp/jwm")
[25.10.2016 18:52 ] The busybox base directory is
/var/tmp/jwm
[25.10.2016 18:52 ] The httpd daemon is NOT running (well,
it may be running but it was not started by this script)
[25.10.2016 18:52 ] ### busybox_httpd.sh ended at Tue Oct 25
18:52:33 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/scripts]$
To change the port used by the httpd use:
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/scripts]$
./busybox_httpd.sh -p 8888 start
[25.10.2016 18:53 ] ### busybox_httpd.sh started at Tue Oct
25 18:53:13 CEST 2016
[25.10.2016 18:53 ] Using the busybox directory based on the
the environment variable JWM_DIR ("/var/tmp/jwm")
[25.10.2016 18:53 ] The busybox base directory is
/var/tmp/jwm
[25.10.2016 18:53 ] Starting the httpd daemon ...
[25.10.2016 18:53 ] Using the httpd home directory
/var/tmp/jwm/htdocs
[25.10.2016 18:53 ] Using the httpd config file
/var/tmp/jwm/etc/httpd.conf
[25.10.2016 18:53 ] The port to use for the httpd daemon is
8888
[25.10.2016 18:53 ] Preparing the environment to start the
busybox httpd with php support ...
[25.10.2016 18:53 ] Searching for the php-cgi binary ...
[25.10.2016 18:53 ] Using the PHP binary "/usr/bin/php-cgi"
...
+ ./busybox/httpd '' -p 8888 -c /tmp/httpd.8888.conf -h
/var/tmp/jwm/htdocs
+ 2>& 1
[25.10.2016 18:53 ] httpd daemon started; the PID is 825
[25.10.2016 18:53 ] Use http://localhost:8888 or
http://t540p:8888 to access the httpd in your Webbrowser
[25.10.2016 18:53 ] ### busybox_httpd.sh ended at Tue Oct 25
18:53:13 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/scripts]$
./busybox_httpd.sh status
[25.10.2016 18:53 ] ### busybox_httpd.sh started at Tue Oct
25 18:53:19 CEST 2016
[25.10.2016 18:53 ] Using the busybox directory based on the
the environment variable JWM_DIR ("/var/tmp/jwm")
[25.10.2016 18:53 ] The busybox base directory is
/var/tmp/jwm
[25.10.2016 18:53 ] The httpd daemon is running; the PID is
825
UID PID
PPID C STIME
TTY
TIME CMD
xtrnaw7 825
1 0 18:53 ?
00:00:00 ./busybox/httpd -p 8888 -c
/tmp/httpd.8888.conf -h /var/tmp/jwm/htdocs
[25.10.2016 18:53 ] The httpd daemon is listening on these
ports:
(Not all processes could be identified, non-owned process
info
will not be shown, you would have to be root to see it
all.)
tcp6
0 0
:::8888
:::*
LISTEN 825/./busybox/httpd
[25.10.2016 18:53 ] ### busybox_httpd.sh ended at Tue Oct 25
18:53:19 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/scripts]$
./busybox_httpd.sh stop
[25.10.2016 18:53 ] ### busybox_httpd.sh started at Tue Oct
25 18:53:30 CEST 2016
[25.10.2016 18:53 ] Using the busybox directory based on the
the environment variable JWM_DIR ("/var/tmp/jwm")
[25.10.2016 18:53 ] The busybox base directory is
/var/tmp/jwm
[25.10.2016 18:53 ] The httpd daemon is running; the PID is
825
[25.10.2016 18:53 ] Stopping the httpd daemon ...
[25.10.2016 18:53 ] ### busybox_httpd.sh ended at Tue Oct 25
18:53:31 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/scripts]$
The known parameter of the busybox httpd daemon are:
busybox httpd usage
[xtrnaw7@t15g /var/tmp/jwm]$ ./busybox/httpd
--help
BusyBox v1.36.1 (2024-02-23 15:34:20 CET) multi-call binary.
Usage: httpd [-ifv[v]] [-c CONFFILE] [-p [IP:]PORT] [-u
USER[:GRP]] [-r REALM] [-h HOME]
or httpd -d/-e/-m STRING
Listen for incoming HTTP requests
-i
Inetd mode
-f
Run in foreground
-v[v]
Verbose
-p [IP:]PORT Bind to
IP:PORT (default *:80)
-u USER[:GRP] Set
uid/gid after binding to port
-r REALM Authentication
Realm for Basic Authentication
-h HOME
Home directory (default .)
-c FILE
Configuration file (default {/etc,HOME}/httpd.conf)
-m STRING MD5 crypt
STRING
-e STRING HTML encode
STRING
-d STRING URL decode
STRING
[xtrnaw7@t15g /var/tmp/jwm]$
"Resource monitor that shows usage and stats for processor,
memory, disks, network and processes.
C++ version and continuation of bashtop and bpytop."
btop usage
[xtrnaw7@t15g /var/tmp/jwm/src]$ ../bin/btop --help
usage: btop [-h] [-v] [-/+t] [-p <id>] [-u <ms>]
[--utf-force] [--debug]
optional arguments:
-h,
--help
show this help message and exit
-v,
--version
show version info and exit
-lc, --low-color
disable truecolor, converts 24-bit colors to 256-color
-t,
--tty_on
force (ON) tty mode, max 16 colors and tty friendly graph
symbols
+t,
--tty_off
force (OFF) tty mode
-p, --preset <id> start
with preset, integer value between 0-9
-u, --update <ms> set
the program update rate in milliseconds
--utf-force
force start even if no UTF-8 locale was detected
--debug
start in DEBUG mode: shows microsecond timer for information
collect
and screen draw functions and sets loglevel to DEBUG
[xtrnaw7@t15g /var/tmp/jwm/src]$
btop examples
n/a
"The
bvi is a display-oriented editor for
binary files (hex editor), based on the
vi
texteditor. If you are familiar with
vi, just
start the editor and begin to edit! A
bmore
program is also included in the package.
If you never heard about
vi, maybe
bvi
is not the best choice for you. "
bvi usage
[xtrnaw7@t540p /var/tmp/jwm/src]$ ../bin/bvi -h
Usage: bvi [-R] [-c cmd | +cmd] [-f script]
[-s skip] [-e end] [-n
length] file ...
file offset/size: 10k, 20m,
1g, 0x1000 hex, 0200 octal
[xtrnaw7@t540p /var/tmp/jwm/src]$
bwm-ng is a network bandwidth monitor; the usage for
bwm-ng is:
bwm-ng usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/bin]$ bwm-ng
-h
Bandwidth Monitor NG (bwm-ng) v0.6.2
Copyright (C) 2004-2007 Volker Gropp <bwmng@gropp.org>
USAGE: bwm-ng [OPTION] ... [CONFIGFILE]
displays current ethernet interfaces stats
Options:
-t, --timeout <msec> displays
stats every <msec> (1msec = 1/1000sec)
default: 500
-d, --dynamic [value] show values
dynamically (Byte KB or MB)
-a, --allif [mode]
where mode is one of:
0=show only up (and selected) interfaces
1=show all up interfaces (default)
2=show all and down interfaces
-I, --interfaces <list> show only interfaces in
<list> (comma separated), or
if list is prefaced with % show all but interfaces
in list
-S, --sumhidden [value] count hidden interfaces for
total
-A, --avglength <sec> sets the span
of average stats (Default 30s)
-D, --daemon [value] fork into
background and daemonize
-h,
--help
displays this help
-V,
--version
print version info
Input:
-i, --input <method> input
method, one of: proc disk
-f, --procfile <file> filename to
read raw data from. (/proc/net/dev)
--diskstatsfile <file>
filename to read diskstats (Linux 2.6+) from.
(/proc/diskstats)
--partitionsfile <file>
filename to read diskstats (Linux 2.4) from.
(/proc/partitions)
Output:
-o, --output <method> output
method, one of:
plain, curses, curses2, csv, html
-u, --unit
<value> unit to show.
one of bytes, bits, packets, errors
-T, --type
<value> type of stats.
one of rate, max, sum, avg
-C, --csvchar <char>
delimiter for csv
-F, --outfile <file> output
file for csv and html (default stdout)
-R, --htmlrefresh <num> meta refresh for html
output
-H,
--htmlheader show
<html> and <meta> frame for html output
-c, --count
<num> number of
query/output for plain & csv
-N,
--ansiout
disable ansi codes for plain output
(ie 1 for one single output)
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/bin]$
cdpinfo is a perl script listening for Cisco Discovery
Protocol (CDP) packets and printing out key values such as
switch, port and vlan.
This script depends on either "snoop" (Solaris) or
"tcpdump" (Linux, AIX, and others). Both of those programs
generally must be run as root (see also
cdpr)
cdpinfo usage
[xtrnaw7@t540p /var/tmp/jwm/scripts]$ ./cdpinfo -h
Usage: ./cdpinfo -i devX [-t tmout] [-v]
-i devX : Use the devX device
name for the interface to watch.
-t tmout : Timeout value in
seconds. Don't wait for a CDP packet longer than this.
Default is 60 seconds. 0 means no limit.
-v : Verbose
output.
-h : This help
message.
[xtrnaw7@t540p /var/tmp/jwm/scripts]$
cdpinfo example
[xtrnaw7@t540p /var/tmp/jwm/scripts]$ sudo ./cdpinfo -i
enp0s25
No CDP packet - sorry
^C
"
cdpr is used to decode a Cisco Disovery Protocol (CDP)
packet, by default it will report the device ID, the IP Address
(of the device), and the port number that the machine is
connected to. Optionally it will decode the entire CDP packet"
Please note that the Cisco Discovery Protocol is disabled in a
lot of production sites and therefor cdpr can not do anything.
cdpr usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ cdpr -h
cdpr - Cisco Discovery Protocol Reporter
Version 2.4
Copyright (c) 2002-2010 - MonkeyMental.com
d: Specify device to use (eth0, hme0, etc.)
h: Print this usage
t: time in seconds to abort waiting for a packet (should be
> 60)
v[vv]: Set verbose mode
r: read from file instead of network device
** Options dealing with server updates: **
u: Send cdpr information to a cdpr server
requires config file as arg
l: Location/description of this port for use with -u
or -s and -p
n: Override the hostname reported to the server for
use with -u or -s and -p
s: Server to send information to specify port with a :
after Server/IP
Example: 192.168.1.20:88 (default:
80) requires -p (overridden by -u)
p: Path of server script to send data to requires -s
(overridden by -u)
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
"
Checksec.sh is a bash script to check the properties of
executables (like PIE, RELRO, PaX, Canaries, ASLR, Fortify
Source). It has been originally written by Tobias Klein and the
original source is available here:
http://www.trapkit.de/tools/checksec.html"
"Modern Linux distributions offer some mitigation techniques to
make it harder to exploit software vulnerabilities reliably.
Mitigations such as RELRO, NoExecute (NX), Stack Canaries,
Address Space Layout Randomization (ASLR) and Position
Independent Executables (PIE) have made reliably exploiting any
vulnerabilities that do exist far more challenging. The
checksec.sh
script is designed to test what standard Linux OS and PaX
security features are being used."
see also
http://blog.siphos.be/2011/07/high-level-explanation-on-some-binary-executable-security/
checksec usage
xtrnaw7@t540p /var/tmp/jwm/checksec]$ ./checksec -h
Usage: checksec [--format={cli,csv,xml,json}] [OPTION]
Options:
## Checksec Options
--file={file}
--dir={directory}
--listfile={text file with one file per line}
--proc={process name}
--proc-all
--proc-libs={process ID}
--kernel[=kconfig]
--fortify-file={executable-file}
--fortify-proc={process ID}
--version
--help
--update or --upgrade
## Modifiers
--debug
--verbose
--format={cli,csv,xml,json}
--output={cli,csv,xml,json}
--extended
For more information, see:
http://github.com/slimm609/checksec.sh
[xtrnaw7@t540p /var/tmp/jwm/checksec]$
checksec example
[xtrnaw7@t540p /var/tmp/jwm/checksec]$ ./checksec
--kernel
* Kernel protection information:
Description - List the status of kernel protection
mechanisms. Rather than
inspect kernel mechanisms that may aid in the
prevention of exploitation of
userspace processes, this option lists the status of
kernel configuration
options that harden the kernel itself against attack.
Kernel config:
/boot/config-5.14.14-200.fc34.x86_64
Warning: The config on disk may not represent running
kernel config!
Running kernel: 5.14.14-200.fc34.x86_64
Vanilla Kernel
ASLR:
Full
NX
protection:
Enabled
Protected
symlinks:
sysctl: permission denied on key 'fs.protected_symlinks'
Disabled
Protected
hardlinks:
sysctl: permission denied on key 'fs.protected_hardlinks'
Disabled
Protected
fifos:
sysctl: permission denied on key 'fs.protected_fifos'
Unsupported
Protected
regular:
sysctl: permission denied on key 'fs.protected_regular'
Unsupported
Ipv4 reverse path
filtering:
Disabled
Kernel heap
randomization:
Enabled
GCC stack protector
support:
Enabled
GCC stack protector
strong:
Disabled
GCC structleak
plugin:
Disabled
SLAB freelist
randomization:
Enabled
Virtually-mapped kernel
stack:
Enabled
Restrict /dev/mem
access:
Enabled
Restrict I/O access to
/dev/mem: Enabled
Exec
Shield:
Unsupported
Hardened
Usercopy:
Enabled
Harden str/mem
functions:
Enabled
* X86
only:
Address space layout
randomization: Enabled
*
SELinux:
Enforcing
Checkreqprot:
Enabled
Deny
Unknown:
Disabled
[xtrnaw7@t540p /var/tmp/jwm/checksec]$
[xtrnaw7@t540p /var/tmp/jwm/checksec]$ ./checksec
--file=/bin/bash
RELRO
STACK CANARY
NX
PIE
RPATH
RUNPATH Symbols
FORTIFY
Fortified Fortifiable
FILE
Full RELRO Canary
found NX
enabled PIE
enabled No RPATH No
RUNPATH No Symbols
Yes 13
32
/bin/bash
[xtrnaw7@t540p /var/tmp/jwm/checksec]$
Note: checksec.sh needs the binary
readelf.
The script needs bash v3.2 or newer.
collectl is a excellent general monitoring tool for
Linux.
To use the additional moduls for collectl, collectl must be
started from within the collectl directory. Therefor you should
always use the script collectl in the script directory which is
available via the PATH variable.
see also the examples on the
collectl
homepage:
http://collectl.sourceforge.net/Examples.html
and the
collectl
FAQ.
Short collectl usage
JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ collectl -h
This is a subset of the most common switches and even the
descriptions are
abbreviated. To see all type 'collectl -x', to get
started just type 'collectl'
usage: collectl [switches]
-c, --count
count collect this number of
samples and exit
-f, --filename
file name of
directory/file to write to
-i, --interval
int collection
interval in seconds [default=1]
-o, --options
options misc formatting options,
--showoptions for all
d|D - include date in output
T - include time in output
z - turn off compression of plot files
-p, --playback
file playback results
from 'file' (be sure to quote
if wild carded) or the shell
might mess it up
-P,
--plot
generate output in 'plot' format
-s, --subsys
subsys specify one or more
subsystems [default=cdn]
--verbose
display output in verbose format (automatically
selected when brief doesn't make sense)
Various types of help
-h,
--help
print this text
-v,
--version
print version
-V,
--showdefs
print operational defaults
-x,
--helpextend
extended help, more details descriptions too
-X,
--helpall
shows all help concatenated together
--showoptions
show all the options
--showsubsys
show all the subsystems
--showsubopts
show all subsystem specific options
--showtopopts
show --top options
--showheader
show file header that 'would be' generated
--showcolheaders
show column headers that 'would be' generated
--showslabaliases
for SLUB allocator, show non-root aliases
--showrootslabs
same as --showslabaliases but use 'root' names
Copyright 2003-2016 Hewlett-Packard Development Company,
L.P.
collectl may be copied only under the terms of either the
Artistic License
or the GNU General Public License, which may be found in the
source kit
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
Complete collectl usage
[JWM session] xtrnaw7@t61p Tue Oct 29 20:19:39
/var/tmp/jwm/scripts $ collectl --help
This is a subset of the most common switches and even the
descriptions are
abbreviated. To see all type 'collectl -x', to get
started just type 'collectl'
usage: collectl [switches]
-c, --count
count collect this number of
samples and exit
-f, --filename
file name of
directory/file to write to
-i, --interval
int collection
interval in seconds [default=1]
-o, --options
options misc formatting options,
--showoptions for all
d|D - include date in output
T - include time in output
z - turn off compression of plot files
-p, --playback
file playback results
from 'file' (be sure to quote
if wild carded) or the shell
might mess it up
-P,
--plot
generate output in 'plot' format
-s, --subsys
subsys specify one or more
subsystems [default=cdn]
--verbose
display output in verbose format (automatically
selected when brief doesn't make sense)
Various types of help
-h,
--help
print this text
-v,
--version
print version
-V,
--showdefs
print operational defaults
-x,
--helpextend
extended help, more details descriptions too
-X,
--helpall
shows all help concatenated together
--showoptions
show all the options
--showsubsys
show all the subsystems
--showsubopts
show all subsystem specific options
--showtopopts
show --top options
--showheader
show file header that 'would be' generated
--showcolheaders
show column headers that 'would be' generated
--showslabaliases
for SLUB allocator, show non-root aliases
--showrootslabs
same as --showslabaliases but use 'root' names
Copyright 2003-2013 Hewlett-Packard Development Company,
L.P.
collectl may be copied only under the terms of either the
Artistic License
or the GNU General Public License, which may be found in the
source kit
[JWM session] xtrnaw7@t61p Tue Oct 29 20:23:27
/var/tmp/jwm/scripts $ collectl --showoptions
Various combinations can be specified with -o or --options,
both interactively
and in playback mode, in far too many combinations to
describe. In general if
they make sense together they probably work!
Date and Time
d - preface output with 'mm/dd hh:mm:ss'
D - preface outout with 'ddmmyyyy hh:mm:ss'
T - preface output with time only
U - preface output with UTC time
m - when reporting times, include milli-secs
Numerical Formats
g - include/substitute 'g' for decimal point for
numbers > 1G
G - include decimal point (when it will fit) for
numbers > 1G
Exception Reporting
x - report exceptions only (see man page)
X - record all values + exceptions in plot format
(see manpage)
Modify results before display (do NOT effect collection)
n - do NOT normalize rates to units/second
Plot File Naming/Creation
a - if plotfile exists, append [default=skip -p file]
c - always create new plot file
u - create unique plot file names - include time
Plot Data Format
1 - plot format with 1 decimal place of precision
2 - plot format with 2 decimal places of precision
z - don't compress output file(s)
File Header Information
i - include file header in output
JWM session] xtrnaw7@t61p Tue Oct 29 20:24:46
/var/tmp/jwm/scripts $ collectl --showsubsys
The following subsystems can be specified in any
combinations with -s or
--subsys in both record and playbackmode.
[default=bcdfijlmnstx]
These generate summary, which is the total of ALL data for a
particular type
b - buddy info (memory fragmentation)
c - cpu
d - disk
f - nfs
i - inodes
j - interrupts by CPU
l - lustre
m - memory
n - network
s - sockets
t - tcp
x - interconnect (currently supported: Infiniband and
Quadrics)
y - slabs
These generate detail data, typically but not limited to the
device level
C - individual CPUs, including interrupts if
-sj or -sJ
D - individual Disks
E - environmental (fan, power, temp) [requires
ipmitool]
F - nfs data
J - interrupts by CPU by interrupt number
L - lustre
M - memory numa/node
N - individual Networks
T - tcp details (lots of data!)
X - interconnect ports/rails
(Infiniband/Quadrics)
Y - slabs/slubs
Z - processes
An alternative format lets you add and/or subtract
subsystems to the defaults by
immediately following -s with a + and/or -
eg: -s+YZ-x adds slabs & processes and removes
interconnet summary data
-s-n removes network summary
data
-s-all removes ALL
subsystems, something that can handy when playing back
data collected with --import and you ONLY want to see that
data
[JWM session] xtrnaw7@t61p Tue Oct 29 20:25:24
/var/tmp/jwm/scripts $ collectl --showsubopts
These options are all subsystem specific and all take one or
more arguments.
Options typically effect the type of data collectl and
filters effect the way
it is displayed. In the case of lustre there are also
'services'
CPU
--cpuopts
z - do not show any detail
lines which are ALL 0
Disk
--dskfilt perl-regx[,perl-regx...]
this ONLY applies to disk
stats output and not data collection
only data for disk names that
match the pattern(s) will be
included in summary stats or
displayed when details requested
if you don't know perl, a
partial string will usually work too
--dskopts
f - include fractions for
some of the detail output columns
i - include average i/o size
in brief mode (as with --iosize)
o - exclude unused devices
from new headers and plot data
see
docs on disk monitoring for more detail
z - do not show any detail
lines which are ALL 0
--rawdskfilt
this works like dskfilt
except rather than being applied to the
output it applies to the data
collection.
--rawdskignore
this is the opposite if
--rawdskfilt in that any disks matching this
pattern will not have their
statistics recorded as well as not being
shown in any output
Environmental
--envopts [def=fpt] NOTE: these do not filter
data on collection
f - display fan data
p - display power data
t - display temperature data
C - display temperature in
celcius
F - display temperature in
fahrenheit
M - display data on multiple
lines (useful when too much data)
T - display all env data
truncated to whole integers
0-9 - use as ipmi device number
--envfilt perl-regx
during collection, this
filter is applied to the data returned by
ipmitool and only those lines
that match are kept
--envremap perl-regx...
a list of regx expressions,
comma separated, are applied to the
final env names before
reporting
The following are for those needed to develop/debug
remapping rules.
See online documentation OR Ipmi.html in docs/
--envrules filename
file containin remapping rules
--envdebug
show processing of ipmi data
--envtest
filename file containing extract of
'ipmitool -c sdr'
Interconnect
--xopts
i - include i/o sizes in
brief mode
Interrupts
--intfilt perl-regx
like other filters, this filter only
applies to display output
and all interrupts will always be
collected and available for
playback
Lustre
--lustopts
B - only for OST's and
clients, collect buffer/rpc stats
D - collect lustre disk stats
(HPSFS: MDS and OSS only)
M - collect lustre client
metadata
O - collect lustre OST level
stats (detail mode only and not MDS)
R - collect lustre client
readahead stats
--lustsvc: force monitoring/reporting of these lustre
services
c - client
m - mds
o - oss
NOTE - you can specify the service in
either lower or upper case, in
case other tools might care. see
the collectl documentation on lustre
for details
Memory
--memopts
P - display physical portion
of verbose display
V - display virtual portion
of verbose display
p - display/record
alloc/refill number of pages
s - display/record
steal/kswap/direct number of pages
R - show changes in memory as
rates, not instantaneous values
note that including p or s
will collect more data and will slightly increase in
processing
time. if neither P or V
are specified none of the basic memory stats will be
displayed BUT
they will be recorded making
it possible to display later either by including P/V as an
option OR leaving off both p
and s.
Network
--netfilt perl-regx[,perl-regx...]
this ONLY applies to network
stats output and not data collection
only data for network names
that match the pattern(s) will be
included in summary stats or
displayed when details requested
if you don't know perl, a
partial string will usually work too
--netopts eEw99
e - include errors in brief
mode and explicit error types in
verbose and detail formats
E - only display intervals
which have network errors in them
i - include i/o sizes in
brief mode
o - exclude unused devices
from new headers and plot data
see
docs on network monitoring for more detail
w - sets minimal network name
width in network stats output which
can
be useful for aligning output from multiple systems
--rawnetfilt
this works like netfilt
except rather than being applied to the
output it applies to the data
collection.
--rawnetignore
this is the opposite of
--rawnetfilt in that any networks matching this
pattern will not have their
statistics recorded as well as not being
shown in any output
NFS
--nfsfilt TypeVer,...
C - client
S - server
2 - V2
3 - V3
4 - V4
By specifying a csv list,
collectl will only collect/record the type
of data indicated (eg c3,s3
indicates V3 clients/server data)
--nfsopts
z - do not show lines of 0
activity with -sF
Processes
--procopts
c - include cpu time of
children who have exited (same as ps S switch)
f - use cumulative totals for
page faults in proc data instead of rates
i - show io counters in
display
I - disable
collection/display of I/O stats. saves over 25% in
data
collection overhead
k - remove known shells from
process names
m - show memory breakdown and
faults in display
p - never look for new pids
or threads to match processing criteria
This also improves performance!
r - show root command name
for a narrower display, can be combined with w
R - show ALL process
priorities ('RT' currently displayed if realtime)
s - include process start
times in hh:mm:ss format
S - include process start
times in mmmdd-hh:mm:ss format
t - include ALL threads (can
be a lot of overhead if many active threads)
u - make username format 12
chars wide. you can also set any arbitrary
width
of at least 8, eg u10
w - make format wider by
including entire process argument string
you
can also set a max number of chars, eg w32
x - include extended process
attributes (currently only for context switches)
z - exclude any processes
with 0 in sort field
--procfilt: restricts which procs are listed,
where 'procs' is of the
Format:
<type><match>[[,<type><match>],...],
and valid types are any
combinations of:
c - any substring in command
name
C - command name starts with
this string
f - full path of command
(including args) contains string
p - pid
P - parent pid
u - any processes owned by
this user's UID or in range xxx-yyy
U - any processes owned by
this user
NOTE1: if 'procs' is
actually a filename, that file will be read and all
lines concatenated together, comma separted, as if typed in
as an
argument of --procfilt. Lines beginning with # will be
ignored
as comments and blank lines will be skipped.
NOTE2: if any type
fields are immediatly followed by a plus sign, any
threads associated with that process will also be reported.
see man page for important restrictions
--procstate Only show processes in one or
more of the following states
D - waiting in
uninterruptable disk sleep
R - running
S - sleeping in
uninterruptable wait
T - traced or stopped
W - paging
Z - zombie
Slab Options and Filters
--slabopts
s - only show slabs with
non-zero allocations
S - only show slabs that have
changed since last interval
--slabfilt: restricts which slabs are listed,
where 'slab's is of the form:
'slab[,slab...]. only slabs whose names start with
this name
will be included
TCP Stack Options - these DO effect data collection as well
as printing
--tcpfilt
i - ip stats, no brief stats
so selecting it alone will force --verbose
t - tcp stats
u - udp stats
c - Icmp Stats
I - ip extended stats
T - tcp extended stats
[JWM session] xtrnaw7@t61p Tue Oct 29 20:25:27
/var/tmp/jwm/scripts $ collectl --showtopopts
The following is a list of --top's sort types which apply to
either
process or slab data. In some cases you may be allowed
to sort
by a field that is not part of the display if you so desire
TOP PROCESS SORT FIELDS
Memory
vsz virtual memory
rss resident (physical) memory
Time
syst system time
usrt user time
time total time
accum accumulated time
I/O
rkb KB read
wkb KB written
iokb total I/O KB
rkbc KB read from pagecache
wkbc KB written to pagecache
iokbc total pagecacge I/O
ioall total I/O KB (iokb+iokbc)
rsys read system calls
wsys write system calls
iosys total system calls
iocncl Cancelled write bytes
Page Faults
majf major page faults
minf minor page faults
flt total page faults
Context Switches
vctx volunary context switches
nctx non-voluntary context switches
Miscellaneous (best when used with --procfilt)
cpu cpu number
pid process pid
thread total process threads (not counting main)
TOP SLAB SORT FIELDS
numobj total number of slab objects
actobj active slab objects
objsize sizes of slab objects
numslab number of slabs
objslab number of objects in a slab
totsize total memory sizes taken by slabs
totchg change in memory sizes
totpct percent change in memory
sizes
name slab names
To view more detailed fields use the switch --verbose, e.g:
JWM session] xtrnaw7@t61p Tue Oct 29 20:16:39
/var/tmp/jwm/scripts $ collectl -sn -oT
monospace;"> waiting for 1 second sample...
#
<----------Network---------->
#Time KBIn
PktIn KBOut PktOut
20:17:22
0
1
0 0
20:17:23
0
0
0 0
20:17:24
0
1
0 0
Ouch!
[JWM session] xtrnaw7@t61p Tue Oct 29 20:17:24
/var/tmp/jwm/scripts $ collectl -sn --verbose -oT
waiting for 1 second sample...
# NETWORK SUMMARY (/sec)
#Time KBIn PktIn
SizeIn MultI CmpI ErrsI KBOut
PktOut SizeO CmpO ErrsO
20:17:31
0
0
0
0
0
0
0
0
0
0 0
20:17:32
0 1
60
0
0
0
0
0
0
0 0
20:17:33
0
0
0
0
0
0
0
0
0
0 0
20:17:34
0 1
60
0
0
0
0
0
0
0 0
20:17:35
0
0
0
0
0
0
0
0
0
0 0
To view processes in a tree view use the switch --export
proctree, e.g.
collectl --top --export proctree
Process Tree 01:00:00 [skip when 'time'<=0 is 'on' aggr:
'on' x1024: 'off' depth 5]
# PID PPID
User PR S VSZ
RSS CP SysT UsrT Pct AccuTime
RKB WKB MajF MinF Command
00001
0 root 20 S
23G 1G 1 0.03 0.08
11 02:07.44 0
0 0 7 /sbin/init
01964
1 root 20 S 9G
497M 0 0.03 0.08 11
01:39.73 0
0 0 7 /usr/sbin/mdm
01979 1964
root 20 S 9G
495M 1 0.03 0.08 11
01:39.73 0
0 0 7
/usr/sbin/mdm
01992 1979
root 20 S 170M
60M 1 0.01 0.00 1
00:26.55 0
0 0 0
/usr/bin/X
02407 1979 xtrnaw7
20 S 9G 431M 1 0.02
0.08 10 01:13.17
0 0 0
7 gnome-session
02804 2407 xtrnaw7
20 S 3G 264M 0 0.02
0.08 10 01:06.44
0 0 0
7 /usr/bin/cinnamon
00002
0 root 20 S
0 0 1 0.01
0.00 1 00:07.16
0 0 0 0
kthreadd
00181
2 root 20 S
0 0 1 0.01
0.00 1 00:01.77
0 0 0
0 kworker/1:2
monospace;"> Ouch!
To view process I/O use this parameter:
[JWM session] xtrnaw7@t61p Tue Oct 29 20:34:03
/var/tmp/jwm/scripts $ collectl -sZ -i:1 |more
waiting for 1 second sample...
### RECORD 1 >>> t61p <<<
(1383075264.001) (Tue Oct 29 20:34:24 2013) ###
# PROCESS SUMMARY (counters are /sec)
monospace;"> # PID User
PR PPID THRD S VSZ RSS CP
SysT UsrT Pct AccuTime RKB WKB MajF
MinF Command
1 root
20 0 0 S
24M 2M 1 0.00
0.00 0 00:00.44
0 0 0 0
/sbin/init
2 root
20 0 0
S 0 0
1 0.00 0.00 0
00:00.00 0
0 0 0 kthreadd
3 root
20 2 0
S 0 0
0 0.00 0.00 0
00:00.67 0
0 0 0 ksoftirqd/0
6 root
RT 2 0
S 0 0
0 0.00 0.00 0
00:01.59 0
0 0 0 migration/0
7 root
RT 2 0
S 0 0
0 0.00 0.00 0
00:00.03 0
0 0 0 watchdog/0
8 root
RT 2 0
S 0 0
1 0.00 0.00 0
00:00.36 0
0 0 0 migration/1
The columns RKB and WKB list the kilobytes read and written by
the processes.
To add a timestamp to the output lines use
[JWM session] xtrnaw7@t61p Tue Oct 29 20:40:40
/var/tmp/jwm/scripts $ collectl --procopts i -oT
waiting for 1 second sample...
#
<--------CPU--------><----------Disks-----------><----------Network---------->
#Time cpu sys inter ctxsw
KBRead Reads KBWrit Writes KBIn
PktIn KBOut PktOut
20:40:43 3 1
252 486
0
0
0
0
0
0
0 0
20:40:44 4 1
287 658
0
0
0
0
0
1
0 0
20:40:45 3 1
262 556
0 0
56
6
0
0
0 0
20:40:46 4 1
296 576
0 0
192
3
0
1
0 0
Ouch!
To add a timestamp in milli seconds to the output lines use
[JWM session] xtrnaw7@t61p Tue Oct 29 20:40:46
/var/tmp/jwm/scripts $ collectl --procopts i -oTm
waiting for 1 second sample...
#
<--------CPU--------><----------Disks-----------><----------Network---------->
#Time cpu sys
inter ctxsw KBRead Reads KBWrit Writes
KBIn PktIn KBOut PktOut
20:40:51.001 12 8
402 998
0
0
8
2
0
0
0 0
20:40:52.001 5 2
326 720
0
0
0
0
0
1
0 0
20:40:53.001 6 4
299 652
0
0
0
0
0
1
0 2
Ouch!
CPUhog is a small Java program to use all CPU resources .
CPUhog usage
[xtrnaw7@t540p /data/download]$ java -jar
CPUhog.jar -h
Usage:
java -jar CPUhog <options>
The options can be specified in any order and later
ones override earlier ones.
Available options are
-t nnn Start load nnn threads (default
10). Typically the main program
runs
in the initial thread and it starts a monitoring thread as
well
as the specified number of load threads. You may see
additional
threads created by the JVM for system use.
-s nnn The size of the vector used during
the convolution (default 100).
Note
that doubling the number coefficients will
appoximately increase the load execution time by 4.
-a Permit the
application to adjust the vector size automatically.
Initially this will reduce the size when out of memory
errors start to
occur. During adjustment the load may fluctuate.
Currently the
size
is not adjusted upwards so the -d option can be used to set
an
upper
value.
-w nnn The amount of time (ms) to wait
between log line outputs.
-sn No statistics.
-sa All statistics
-sc Compilation
information
-so Operating system
information. This is the only section output by
default.
-sr Runtime information
(includes all java system properties)
-st Thread information
-sm Memory information
-sp Memory pool
information
-c nnn The target percentage of total CPU
to use (integer - default 100).
A
delay within each load thread will be adjusted to bring the
aggregate
load
on the system to the specified percentage. The granularity
that
the
application can achieve will be determined by the size of
load
and
the speed of CPU. This also relies on the JVM / OS to
spread the
total
load evenly (although this may be what you are testing!)
-q Supress logging
information.
[xtrnaw7@t540p /data/download]$
CPUhog example
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
bin1/CPUhog.sh
Operating System Information
OS name: Linux
OS version: 4.7.7-100.fc23.x86_64
Architecture: amd64
Available processors: 8
Hogging all the CPU with 10 java threads
doing 10x10 matrix arithmetic.
Time /s Threads CPUs Free KBs Total
KBs Max KBs %CPU User %CPU Total
%CPU / CPU LoopTime/s Ld Wait/ms mSize
0.000
10 8
232775 241664
3557376
0.000
0.000 0.000
-1.000e-09
0 10
All threads started.
2.005
15 8
223886 241664
3557376 782.629
786.077 98.260
3.192e-04
0 10
4.007
15 8
223886 241664
3557376 779.734
780.817 97.602
2.601e-04
0 10
6.009
15 8
223886 241664
3557376 784.251
783.921 97.990
3.297e-04
0 10
8.011
15 8
223886 241664
3557376 787.799
787.870 98.484
2.610e-04
0 10
10.013
15 8
223886 241664
3557376 780.233
780.892 97.611
3.138e-04
0 10
12.015
15 8
223886 241664
3557376 791.424
790.783 98.848
3.337e-04
0 10
14.017
15 8
223886 241664
3557376 788.900
788.183 98.523
3.173e-04
0 10
16.018
15 8
223886 241664
3557376 788.500
789.356 98.669
3.610e-04
0 10
18.021
15 8
223886 241664
3557376 792.436
792.113 99.014
2.900e-04
0 10
20.023
15 8
223886 241664
3557376 789.072
789.279 98.660
3.446e-04
0 10
22.025
15 8
223886 241664
3557376 789.872
790.447 98.806
3.025e-04
0 10
24.026
15 8
223886 241664
3557376 793.408
793.212 99.152
2.974e-04
0 10
26.028
15 8
223886 241664
3557376 790.376
790.354 98.794
3.197e-04
0 10
28.029
15 8
223886 241664
3557376 788.936
789.481 98.685
3.409e-04
0 10
30.031
15 8
223886 241664
3557376 786.201
786.107 98.263
3.156e-04
0 10
32.033
15 8
223886 241664
3557376 792.136
792.731 99.091
2.965e-04
0 10
34.035
15 8
223886 241664
3557376 790.356
790.693 98.837
3.202e-04
0 10
36.037
15 8
223886 241664
3557376 789.868
789.714 98.714
3.248e-04
0 10
38.038
15 8
223886 241664
3557376 785.974
787.033 98.379
2.744e-04
0 10
Time /s Threads CPUs Free KBs Total
KBs Max KBs %CPU User %CPU Total
%CPU / CPU LoopTime/s Ld Wait/ms mSize
40.041
15 8
223886 241664
3557376 789.479
788.058 98.507
3.293e-04
0 10
42.042
15 8
223886 241664
3557376 782.507
783.508 97.938
1.827e-04
0 10
44.044
15 8
223886 241664
3557376 792.222
793.141 99.143
3.322e-04
0 10
46.045
15 8
223886 241664
3557376 792.163
790.496 98.812
3.126e-04
0 10
48.046
15 8
223886 241664
3557376 788.175
789.011 98.626
3.265e-04
0 10
50.047
15 8
223886 241664
3557376 794.052
793.869 99.234
3.083e-04
0 10
52.049
15 8
223886 241664
3557376 793.178
793.641 99.205
2.995e-04
0 10
54.050
15 8
223886 241664
3557376 774.625
774.294 96.787
3.467e-04
0 10
56.051
15 8
223886 241664
3557376 780.368
780.860 97.607
2.354e-04
0 10
cpumon monitors CPU activity of a multi-core machine.
This tools provides effective load report useful for debugging
real-time software on standard Linux operating system.
cpumon usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ cpumon -h
usage: cpumon [-c int] [-f str] [-h] [-k int] [-m int] [-s
int] [-t int] [-v int] [-V]
-c int: force calibration (1), need root
-f str: calibration file
(/var/lib/cpumon/calibration.txt)
-h : help message
-k int: cpu id for calibration, -1 means last core
(-1)
-m int: cpu id for monitoring, -1 means last core (0)
-s int: number of second before stopping, -1 means
infinity (-1)
-t int: timer period (5)
-v int: verbose level (1)
-V : show version
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
cpumon example
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
cpumon
sudo: cpumon: command not found
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
bin/cpumon
can't read calibration file
(/var/lib/cpumon/calibration.txt)
runnning calibration on cpu 7
calibration max loops: 47994
cpu speed is changing from -0.000 to 2.794
cpu: 34.5% + 35.4% + 46.2% + 39.0%
+ 38.1% + 33.1% + 35.5% + 36.2%
= 297.9%
cpu: 32.4% + 35.6% + 43.7% + 35.5%
+ 32.6% + 32.7% + 32.9% + 32.8%
= 278.0%
cpu: 36.0% + 32.0% + 47.2% + 36.7%
+ 32.4% + 32.8% + 33.9% + 33.1%
= 283.9%
cpu: 43.9% + 42.4% + 43.8% + 29.9%
+ 33.6% + 32.4% + 34.4% + 32.9%
= 293.1%
"
cpustat periodically dumps out the current CPU
utilisation statistics of running processes. cpustat has been
optimised to have a minimal CPU overhead and typically uses
about 35% of the CPU compared to top. cpustat also includes some
simple statistical analysis options that can help characterise
the way CPUs are being loaded."
cpustat usage
[xtrnaw7@t15g /var/tmp/jwm/src]$ ../bin/cpustat -h
cpustat, version 0.02.20
Usage: cpustat [options] [duration] [count]
-h help
-a calculate CPU utilisation based on all the CPU
ticks
rather than per CPU tick
-c get command name from processes comm field
-d strip directory basename off command information
-D show distribution of CPU utilisation stats at end
-g show grand total of CPU utilisation stats at end
-i ignore cpustat in the statistics
-l show long (full) command information
-n specifies number of tasks to display
-p just show utilisation for a specified PID
-q run quietly, useful with option -r
-r specifies a comma separated values output file to
dump
samples into
-s show short command information
-S timestamp output
-t specifies a task tick count threshold where
samples less
than this are ignored
-T show total CPU utilisation statistics
-x show extra stats (load average, avg cpu freq,
etc)
-X top-like curses based display mode
[xtrnaw7@t15g /var/tmp/jwm/src]$
cpustat example
[xtrnaw7@t540p /var/tmp/jwm/src]$ ../bin/cpustat -c -d
-D -g -n 20
%CPU %USR
%SYS PID S
CPU Time Task
15.69 0.98 14.71
9982 S 1 8.11h VirtualBoxVM
5.88 1.96 3.92 107641
S 3 2.21h VirtualBoxVM
3.92 0.00 3.92 107700
S 6 2.25h VirtualBoxVM
3.92 3.92 0.00
11184 S 4 2.27h slimjet
3.92 3.92 0.00
11322 S 0 1.05h slimjet
2.94 1.96 0.98 262429
S 6 20.49m seamonkey
1.96 0.98
0.98 9954 S 5
15.46m VBoxSVC
1.96 0.98
0.98 9267 S 1
18.08m pulseaudio
1.96 1.96 0.00
11076 S 6 41.00m slimjet
1.96 0.98 0.98 105632
S 4 12.19m Telegram
1.96 0.98
0.98 9670 S 0
18.13m mate-cpufreq-ap
1.96 0.98 0.98
13996 S 1 1.04h java
1.96 1.96 0.00
11158 S 5 1.05h slimjet
1.96 1.96
0.00 2679 S 3
49.22m Xorg
0.98 0.00
0.98 9599 S 0
10.36m top
0.98 0.98 0.00
18661 S 0 1.22m Privileged
Cont
0.98 0.98 0.00
11197 S 6 25.11m slimjet
0.98 0.00
0.98 9948 S
5 5.46m VBoxXPCOMIPCD
0.98 0.00 0.98
14051 S 3 8.50m java
0.98 0.98
0.00 9381 S
3 1.47m mate-terminal
%CPU %USR
%SYS PID S
CPU Time Task
17.17 0.00 17.17
9982 S 1 8.11h VirtualBoxVM
8.08 2.02 6.06 107641
S 3 2.21h VirtualBoxVM
5.05 2.02 3.03 107700
S 6 2.25h VirtualBoxVM
5.05 4.04 1.01
11184 S 4 2.27h slimjet
5.05 3.03 2.02
11322 S 0 1.05h slimjet
3.03 3.03 0.00
11158 S 5 1.05h slimjet
2.02 1.01 1.01
11076 S 6 41.00m slimjet
2.02 2.02 0.00
11009 S 2 41.42m slimjet
2.02 2.02 0.00
13996 S 1 1.04h java
2.02 1.01
1.01 2679 S 3
49.22m Xorg
1.01 1.01 0.00
11485 S 7 7.12m slimjet
1.01 0.00 1.01
11197 S 6 25.11m slimjet
1.01 1.01 0.00
12468 S 6 36.72s slimjet
1.01 1.01 0.00 262429
S 6 20.49m seamonkey
1.01 0.00 1.01 368505
R 6 0.02s cpustat
1.01 1.01 0.00 106032
S 3 5.19m slimjet
1.01 1.01 0.00
10578 S 0 3.07m Web Content
%CPU %USR
%SYS PID S
CPU Time Task
17.00 1.00 16.00
9982 S 1 8.11h VirtualBoxVM
6.00 1.00 5.00 107700
S 6 2.25h VirtualBoxVM
6.00 6.00 0.00 366129
S 6 8.96s slimjet
5.00 5.00 0.00
11485 S 7 7.12m slimjet
5.00 3.00 2.00 107641
S 3 2.21h VirtualBoxVM
4.00 4.00 0.00
11322 S 0 1.05h slimjet
3.00 3.00 0.00
11184 S 4 2.27h slimjet
3.00 2.00 1.00
11486 S 4 7.06m slimjet
3.00 2.00 1.00
13996 S 1 1.04h java
3.00 3.00 0.00
11158 S 5 1.05h slimjet
2.00 1.00 1.00
11633 S 5 1.30m slimjet
2.00 1.00
1.00 9954 S 5
15.46m VBoxSVC
2.00 2.00 0.00
11076 S 6 41.00m slimjet
2.00 1.00 1.00 105632
S 4 12.19m Telegram
2.00 1.00 1.00 368505
R 6 0.04s cpustat
1.00 1.00 0.00
11467 S 4 7.31m slimjet
1.00 1.00 0.00
11483 S 0 7.09m slimjet
1.00 1.00 0.00
11197 S 6 25.11m slimjet
1.00 1.00 0.00
10656 S 0 2.05m Web Content
1.00 0.00
1.00 9267 S 1
18.08m pulseaudio
%CPU %USR
%SYS PID S
CPU Time Task
15.84 0.99 14.85
9982 S 1 8.11h VirtualBoxVM
5.94 1.98 3.96 107641
S 3 2.21h VirtualBoxVM
4.95 0.99 3.96 107700
S 6 2.25h VirtualBoxVM
4.95 2.97 1.98
11322 S 0 1.05h slimjet
3.96 3.96 0.00
11184 S 4 2.27h slimjet
2.97 2.97 0.00
11158 S 5 1.05h slimjet
2.97 1.98
0.99 2679 S 3
49.22m Xorg
1.98 0.99
0.99 9599 S 0
10.36m top
1.98 0.99 0.99
11076 S 6 41.00m slimjet
1.98 0.99 0.99 262429
S 6 20.49m seamonkey
1.98 0.99 0.99
11009 S 2 41.42m slimjet
1.98 0.99 0.99
13996 S 1 1.04h java
0.99 0.99 0.00
11485 S 7 7.12m slimjet
0.99 0.99 0.00
11483 S 0 7.09m slimjet
0.99 0.99 0.00
11197 S 6 25.11m slimjet
0.99 0.99 0.00 105632
S 4 12.19m Telegram
0.99 0.99 0.00 107380
S 2 1.03m mate-terminal
0.99 0.99
0.00 9670 S 0
18.13m mate-cpufreq-ap
0.99 0.99 0.00 366129
S 6 8.97s slimjet
0.99 0.00 0.99 368505
R 6 0.05s cpustat
^C %CPU %USR
%SYS PID S
CPU Time Task
16.13 9.68
6.45 9982 S
1 8.11h VirtualBoxVM
6.45 4.84 1.61
11322 S 0 1.05h slimjet
6.45 3.23 3.23 107641
S 3 2.21h VirtualBoxVM
4.84 4.84 0.00 262429
S 6 20.49m seamonkey
3.23 1.61 1.61 107700
S 6 2.25h VirtualBoxVM
3.23 3.23 0.00
11184 S 4 2.27h slimjet
3.23 1.61 1.61 107380
S 2 1.03m mate-terminal
3.23 1.61
1.61 2679 S 3
49.22m Xorg
1.61 1.61 0.00
11467 S 4 7.31m slimjet
1.61 0.00 1.61
14051 S 3 8.50m java
1.61 1.61 0.00
11076 S 6 41.00m slimjet
1.61 0.00 1.61 105632
S 4 12.19m Telegram
1.61 1.61
0.00 9670 S 0
18.13m mate-cpufreq-ap
1.61 1.61
0.00 9462 S
7 6.56s goa-identity-se
1.61 1.61 0.00
12635 S 7 13.22m slimjet
1.61 1.61
0.00 2519 S 3
10.22m teamviewerd
1.61 0.00 1.61 368505
R 6 0.06s cpustat
1.61 1.61 0.00
13996 S 1 1.04h java
1.61 1.61 0.00
11158 S 5 1.05h slimjet
Grand Total (from 5 samples, 4.6 seconds):
%CPU %USR
%SYS PID S
CPU Time Task
16.38 1.94 14.44
9982 S 1 8.11h VirtualBoxVM
6.25 2.37 3.88 107641
S 3 2.21h VirtualBoxVM
4.74 1.08 3.66 107700
S 6 2.25h VirtualBoxVM
4.74 3.66 1.08
11322 S 0 1.05h slimjet
3.88 3.66 0.22
11184 S 4 2.27h slimjet
2.59 2.59 0.00
11158 S 5 1.05h slimjet
2.16 1.72 0.43 262429
S 6 20.49m seamonkey
2.16 1.51 0.65
13996 S 1 1.04h java
2.16 1.51
0.65 2679 S 3
49.22m Xorg
1.94 1.51 0.43
11076 S 6 41.00m slimjet
1.72 1.72 0.00 366129
S 6 8.97s slimjet
1.51 1.51 0.00
11485 S 7 7.12m slimjet
1.29 0.65 0.65 105632
S 4 12.19m Telegram
1.08 0.22 0.86 368505
R 6 0.06s cpustat
1.08 0.86 0.22 107380
S 2 1.03m mate-terminal
1.08 0.86 0.22
11009 S 2 41.42m slimjet
0.86 0.65 0.22
11197 S 6 25.11m slimjet
0.86 0.43
0.43 9954 S 5
15.46m VBoxSVC
0.86 0.65
0.22 9670 S 0
18.13m mate-cpufreq-ap
0.65 0.43 0.22
11486 S 4 7.06m slimjet
0.65 0.22
0.43 9599 S 0
10.36m top
0.65 0.22
0.43 9267 S 1
18.08m pulseaudio
0.65 0.43
0.22 9262 S 7
14.43m marco
0.43 0.00 0.43
14051 S 3 8.50m java
0.43 0.22 0.22
11633 S 5 1.30m slimjet
0.43 0.43 0.00
11483 S 0 7.09m slimjet
0.43 0.43 0.00
11467 S 4 7.31m slimjet
0.43 0.43 0.00
11262 S 0 6.26m slimjet
0.43 0.43 0.00
11081 S 5 15.46m slimjet
0.43 0.22
0.22 2519 S 3
10.22m teamviewerd
0.22 0.22 0.00 262070
S 4 22.99s slimjet
0.22 0.22 0.00 106032
S 3 5.19m slimjet
0.22 0.22 0.00
18661 S 0 1.22m Privileged
Cont
0.22 0.22 0.00
12635 S 7 13.22m slimjet
0.22 0.22 0.00
12468 S 6 36.72s slimjet
0.22 0.22 0.00
10656 S 0 2.05m Web Content
0.22 0.22 0.00
10630 S 3 1.30m Web Content
0.22 0.22 0.00
10578 S 0 3.07m Web Content
0.22 0.00
0.22 9948 S
5 5.46m VBoxXPCOMIPCD
0.22 0.22
0.00 9462 S
7 6.56s goa-identity-se
0.22 0.22
0.00 9381 S
3 1.47m mate-terminal
0.22 0.00
0.22 1737 S
6 5.57s php-fpm
Distribution of CPU utilisation (per Task):
% CPU Utilisation Count (%)
0.00 - 1.37
1921 97.02
1.37 -
2.74
0 0.00
2.74 -
4.11
35 1.77
4.11 -
5.48
0 0.00
5.48 -
6.85
7 0.35
6.85 -
8.22
7 0.35
8.23 -
9.60
4 0.20
9.60 -
10.97
0 0.00
10.97 -
12.34
1 0.05
12.34 -
13.71
0 0.00
13.71 -
15.08
0 0.00
15.08 -
16.45
1 0.05
16.45 -
17.82
0 0.00
17.82 -
19.19
0 0.00
19.19 -
20.56
0 0.00
20.56 -
21.93
0 0.00
21.94 -
23.31
0 0.00
23.31 -
24.68
0 0.00
24.68 -
26.05
2 0.10
26.05 -
27.42
2 0.10
Distribution of CPU utilisation (per CPU):
CPU# USR% SYS%
0 6.03 1.72
1 3.66 15.52
2 1.72 0.43
3 4.74 5.17
4 5.39 1.08
5 3.66 0.86
6 7.11 5.82
7 2.37 0.22
[xtrnaw7@t540p /var/tmp/jwm/src]$
darkstat captures network traffic, calculates statistics
about usage, and serves reports over HTTP.
darkstat usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ darkstat
--help
darkstat 3.0.719 (using libpcap version 1.0.0)
usage: darkstat [ -i interface ]
[ -f filter ]
[ -r capfile ]
[ -p port ]
[ -b bindaddr ]
[ -l network/netmask ]
[ --base path ]
[ --local-only ]
[ --snaplen bytes ]
[ --pppoe ]
[ --syslog ]
[ --verbose ]
[ --no-daemon ]
[ --no-promisc ]
[ --no-dns ]
[ --no-macs ]
[ --no-lastseen ]
[ --chroot dir ]
[ --user username ]
[ --daylog filename ]
[ --import filename ]
[ --export filename ]
[ --pidfile filename ]
[ --hosts-max count ]
[ --hosts-keep count ]
[ --ports-max count ]
[ --ports-keep count ]
[ --highest-port port ]
[ --wait secs ]
[ --hexdump ]
[ --version ]
[ --help ]
Please refer to the darkstat(8) manual page for further
documentation and usage examples.
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
To use it start it with for example
sudo darkstat -i eth0 -p 9999
Then use a Webbrowser with the URL <hostname:9999>
to monitor the network traffic, e.g.
Note:
To save the captured output also in a file use the start
parameter:
--chroot <outputdir>
--export <outputfile> --user <run_user>
e.g.
--chroot /var/tmp/jwm/data
--export darkstat.data --user xtrnaw7
The user <run_user> must have write access to the
directory <outputdir>
You may use
darkstat.sh to start or
stop the darkstat daemon.
Usage examples from the darkstat manpage
USAGE EXAMPLES
To gather statistics on
the fxp0 interface:
darkstat -i fxp0
We want to account for
traffic on the Internet-facing interface, but only serve web
pages to our private local network where we have the IP
address 192.168.0.1:
darkstat -i fxp0 -b 192.168.0.1
We want to serve web
pages on the standard HTTP port:
darkstat -i fxp0 -p 80
We are on Optus (cable)
and don't want to account for the constant ARP traffic we are
receiving:
darkstat -i fxp0 -f "not arp"
We only want to account
for SSH traffic:
darkstat -i fxp0 -f "port 22"
We don't want to account
for traffic between internal IPs:
darkstat -i fxp0 -f "not (src net 192.168.0 and dst net
192.168.0)"
(For a full reference on
filter syntax, refer to the tcpdump(1) manpage)
We have a network
consisting of a gateway server (192.168.1.1) and a few
workstations (192.168.1.2, 192.168.1.3, etc.) and we want to
graph all traffic entering and leaving the local net‐
work, not just the
gateway server (which is running darkstat):
darkstat -i fxp0 -l 192.168.1.0/255.255.255.0
On some systems, we can't
capture on a "decoded" interface but only on nas0 which
returns PPPoE encapsulated packets. Do PPPoE decoding,
and override the local IP manually since it cannot
be automatically
detected. Note the /32 netmask:
darkstat -i nas0 --pppoe -l 192.168.1.1/255.255.255.255
darkstat.sh is a script to start or stop the
darkstat daemon
The current version of the script is always available
here.
darkstat.sh usage
The usage of the script is:
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
scripts/darkstat.sh --help
[25.10.2016 18:40 ] ### darkstat.sh started at Tue Oct 25
18:40:31 CEST 2016
darkstat.sh
Function: start or stop darkstat
Usage: darkstat.sh [-v|--verbose]
[-q|--quiet] [-f|--force] [-p|--port darkstat_port]
[-i|--interface interface] [-d|--datadir|--chroot
datadirectory]
[start [darkstat_options]|stop|restart
[darkstat_options]|status|daemon_help]
Parameter
-v - verbose mode
-q - quiet mode
-f - force execution
-p - port for darkstat (default: 667)
-i - interface, default: interface used for the
first default route in the output of "netstat -rn"
-d - data directory for darkstat, default: /tmp
or ${JWM_DIR}/data/darkstat if JWM_DIR is set
darkstat_options - additional options for
starting the darkstat
daemon_help - list the usage help for the
darkstat daemon
To save the output also in a file use the start
parameter:
--chroot <outputdir>
--export <outputfile> --user <run_user>
e.g.
--chroot /var/tmp/jwm/data
--export darkstat.data --user xtrnaw7
The user <run_user> must have write access to
the directory <outputdir>
The script searches the darkstat binary in these
directories:
- the current working directory
- the directory with this script
- the directory ${JWM_DIR}/sbin
- the directory ${PWD}/../sbin
Author:
Bernd Schemmer (Bernd.Schemmer@gmx.de)
[25.10.2016 18:40 ] ### darkstat.sh ended at Tue Oct 25
18:40:31 CEST 2016
darkstat.sh examples
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
scripts/darkstat.sh status
[25.10.2016 18:40 ] ### darkstat.sh started at Tue Oct 25
18:40:54 CEST 2016
[25.10.2016 18:40 ] Environment variable JWM_DIR not set -
using the directory based on the script directory (scripts)
[25.10.2016 18:40 ] The darkstat base directory is
/var/tmp/jwm
[25.10.2016 18:40 ] The interface used by darkstart is
enp0s25
[25.10.2016 18:40 ] The data directory used by darkstat is
/tmp
[25.10.2016 18:40 ] The darkstat daemon is NOT running
(well, it may be running but it was not started by this
script)
[25.10.2016 18:40 ] ### darkstat.sh ended at Tue Oct 25
18:40:54 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
scripts/darkstat.sh start
[25.10.2016 18:41 ] ### darkstat.sh started at Tue Oct 25
18:41:01 CEST 2016
[25.10.2016 18:41 ] Environment variable JWM_DIR not set -
using the directory based on the script directory (scripts)
[25.10.2016 18:41 ] The darkstat base directory is
/var/tmp/jwm
[25.10.2016 18:41 ] The interface used by darkstart is
enp0s25
[25.10.2016 18:41 ] The data directory used by darkstat is
/tmp
[25.10.2016 18:41 ] Starting the darkstat daemon ...
[25.10.2016 18:41 ] The port to use for the darkstat daemon
is 667
+ ./sbin/darkstat -p 667 -i enp0s25 --chroot /tmp --pidfile
darkstat.667_enp0s25.pid
+ 2>& 1
[25.10.2016 18:41 ] darkstat daemon started; the PID is
31824
[25.10.2016 18:41 ] Use http://localhost:667 or
http://t540p:667 to access darkstat in your Webbrowser
[25.10.2016 18:41 ] ### darkstat.sh ended at Tue Oct 25
18:41:01 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
scripts/darkstat.sh status
[25.10.2016 18:41 ] ### darkstat.sh started at Tue Oct 25
18:41:07 CEST 2016
[25.10.2016 18:41 ] Environment variable JWM_DIR not set -
using the directory based on the script directory (scripts)
[25.10.2016 18:41 ] The darkstat base directory is
/var/tmp/jwm
[25.10.2016 18:41 ] The interface used by darkstart is
enp0s25
[25.10.2016 18:41 ] The data directory used by darkstat is
/tmp
[25.10.2016 18:41 ] The darkstat daemon is running; the PID
is 31824
UID PID
PPID C STIME
TTY
TIME CMD
nobody 31824 1 0
18:41 ? 00:00:00
./sbin/darkstat -p 667 -i enp0s25 --chroot /tmp --pidfile
darkstat.667_enp0s25.pid
[25.10.2016 18:41 ] The darkstat daemon is listening on
these ports:
tcp
0 0
0.0.0.0:667
0.0.0.0:*
LISTEN 31824/./sbin/darkst
tcp6
0 0
:::667
:::*
LISTEN 31824/./sbin/darkst
[25.10.2016 18:41 ] ### darkstat.sh ended at Tue Oct 25
18:41:07 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
scripts/darkstat.sh stop
[25.10.2016 18:41 ] ### darkstat.sh started at Tue Oct 25
18:41:10 CEST 2016
[25.10.2016 18:41 ] Environment variable JWM_DIR not set -
using the directory based on the script directory (scripts)
[25.10.2016 18:41 ] The darkstat base directory is
/var/tmp/jwm
[25.10.2016 18:41 ] The interface used by darkstart is
enp0s25
[25.10.2016 18:41 ] The data directory used by darkstat is
/tmp
[25.10.2016 18:41 ] The darkstat daemon is running; the PID
is 31824
[25.10.2016 18:41 ] Stopping the darkstat daemon ...
[25.10.2016 18:41 ] ### darkstat.sh ended at Tue Oct 25
18:41:11 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
scripts/darkstat.sh status
[25.10.2016 18:41 ] ### darkstat.sh started at Tue Oct 25
18:41:14 CEST 2016
[25.10.2016 18:41 ] Environment variable JWM_DIR not set -
using the directory based on the script directory (scripts)
[25.10.2016 18:41 ] The darkstat base directory is
/var/tmp/jwm
[25.10.2016 18:41 ] The interface used by darkstart is
enp0s25
[25.10.2016 18:41 ] The data directory used by darkstat is
/tmp
[25.10.2016 18:41 ] The darkstat daemon is NOT running
(well, it may be running but it was not started by this
script)
[25.10.2016 18:41 ] ### darkstat.sh ended at Tue Oct 25
18:41:14 CEST 2016
Start darkstat and save the captured data to a file:
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
scripts/darkstat.sh start --export darkstat.data --user
xtrnaw7
[25.10.2016 18:45 ] ### darkstat.sh started at Tue Oct 25
18:45:16 CEST 2016
[25.10.2016 18:45 ] Environment variable JWM_DIR not set -
using the directory based on the script directory (scripts)
[25.10.2016 18:45 ] The darkstat base directory is
/var/tmp/jwm
[25.10.2016 18:45 ] The interface used by darkstart is
enp0s25
[25.10.2016 18:45 ] The data directory used by darkstat is
/tmp
[25.10.2016 18:45 ] Starting the darkstat daemon ...
[25.10.2016 18:45 ] The port to use for the darkstat daemon
is 667
[25.10.2016 18:45 ] The additional options to use for the
darkstat daemon are "--export darkstat.data --user xtrnaw7"
+ ./sbin/darkstat -p 667 -i enp0s25 --chroot /tmp --pidfile
darkstat.667_enp0s25.pid --export darkstat.data --user
xtrnaw7
+ 2>& 1
[25.10.2016 18:45 ] darkstat daemon started; the PID is
32261
[25.10.2016 18:45 ] Use http://localhost:667 or
http://t540p:667 to access darkstat in your Webbrowser
[25.10.2016 18:45 ] ### darkstat.sh ended at Tue Oct 25
18:45:17 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
scripts/darkstat.sh stop
[25.10.2016 18:45 ] ### darkstat.sh started at Tue Oct 25
18:45:36 CEST 2016
[25.10.2016 18:45 ] Environment variable JWM_DIR not set -
using the directory based on the script directory (scripts)
[25.10.2016 18:45 ] The darkstat base directory is
/var/tmp/jwm
[25.10.2016 18:45 ] The interface used by darkstart is
enp0s25
[25.10.2016 18:45 ] The data directory used by darkstat is
/tmp
[25.10.2016 18:45 ] The darkstat daemon is running; the PID
is 32261
[25.10.2016 18:45 ] Stopping the darkstat daemon ...
[25.10.2016 18:45 ] ### darkstat.sh ended at Tue Oct 25
18:45:37 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ ls -l
/tmp/darkstat.data
-rw------- 1 xtrnaw7 xtrnaw7 3402 Oct 25 18:45
/tmp/darkstat.data
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
Or to use another data directory ( /var/tmp/test in this
example):
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
scripts/darkstat.sh --chroot /var/tmp/test/ start
--export darkstat.data --user xtrnaw7
[25.10.2016 18:46 ] ### darkstat.sh started at Tue Oct 25
18:46:52 CEST 2016
[25.10.2016 18:46 ] Environment variable JWM_DIR not set -
using the directory based on the script directory (scripts)
[25.10.2016 18:46 ] The darkstat base directory is
/var/tmp/jwm
[25.10.2016 18:46 ] The interface used by darkstart is
enp0s25
[25.10.2016 18:46 ] The data directory used by darkstat is
/var/tmp/test/
[25.10.2016 18:46 ] Starting the darkstat daemon ...
[25.10.2016 18:46 ] The port to use for the darkstat daemon
is 667
[25.10.2016 18:46 ] The additional options to use for the
darkstat daemon are "--export darkstat.data --user xtrnaw7"
+ ./sbin/darkstat -p 667 -i enp0s25 --chroot /var/tmp/test/
--pidfile darkstat.667_enp0s25.pid --export darkstat.data
--user xtrnaw7
+ 2>& 1
[25.10.2016 18:46 ] darkstat daemon started; the PID is
32500
[25.10.2016 18:46 ] Use http://localhost:667 or
http://t540p:667 to access darkstat in your Webbrowser
[25.10.2016 18:46 ] ### darkstat.sh ended at Tue Oct 25
18:46:52 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
# Note: You must use the --chroot parameter for every call
of the script (because the PID filename is relative to the
directory in the --chroot parameter)
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
scripts/darkstat.sh stop
[25.10.2016 18:47 ] ### darkstat.sh started at Tue Oct 25
18:47:01 CEST 2016
[25.10.2016 18:47 ] Environment variable JWM_DIR not set -
using the directory based on the script directory (scripts)
[25.10.2016 18:47 ] The darkstat base directory is
/var/tmp/jwm
[25.10.2016 18:47 ] The interface used by darkstart is
enp0s25
[25.10.2016 18:47 ] The data directory used by darkstat is
/tmp
[25.10.2016 18:47 ] The darkstat daemon is NOT running
(well, it may be running but it was not started by this
script)
[25.10.2016 18:47 ] ### darkstat.sh ended at Tue Oct 25
18:47:01 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
scripts/darkstat.sh --chroot /var/tmp/test/ stop
[25.10.2016 18:47 ] ### darkstat.sh started at Tue Oct 25
18:47:14 CEST 2016
[25.10.2016 18:47 ] Environment variable JWM_DIR not set -
using the directory based on the script directory (scripts)
[25.10.2016 18:47 ] The darkstat base directory is
/var/tmp/jwm
[25.10.2016 18:47 ] The interface used by darkstart is
enp0s25
[25.10.2016 18:47 ] The data directory used by darkstat is
/var/tmp/test/
[25.10.2016 18:47 ] The darkstat daemon is running; the PID
is 32500
[25.10.2016 18:47 ] Stopping the darkstat daemon ...
[25.10.2016 18:47 ] ### darkstat.sh ended at Tue Oct 25
18:47:15 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ ls -l
/var/tmp/test/darkstat.data
-rw------- 1 xtrnaw7 xtrnaw7 3877 Oct 25 18:47
/var/tmp/test/darkstat.data
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
The known parameter of the darkstat daemon are:
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/scripts]$
sudo ./darkstat.sh daemon_help
[25.10.2016 19:07 ] ### darkstat.sh started at Tue Oct 25
19:07:02 CEST 2016
[25.10.2016 19:07 ] Environment variable JWM_DIR not set -
using the directory based on the script directory (.)
[25.10.2016 19:07 ] The darkstat base directory is
/var/tmp/jwm
[25.10.2016 19:07 ] The interface used by darkstart is
enp0s25
[25.10.2016 19:07 ] The data directory used by darkstat is
/tmp
[25.10.2016 19:07 ] Additional parameter supported by the
darkstat daemon are:
darkstat 3.0.719 (using libpcap version 1.0.0)
usage: darkstat [ -i interface ]
[ -f filter ]
[ -r capfile ]
[ -p port ]
[ -b bindaddr ]
[ -l network/netmask ]
[ --base path ]
[ --local-only ]
[ --snaplen bytes ]
[ --pppoe ]
[ --syslog ]
[ --verbose ]
[ --no-daemon ]
[ --no-promisc ]
[ --no-dns ]
[ --no-macs ]
[ --no-lastseen ]
[ --chroot dir ]
[ --user username ]
[ --daylog filename ]
[ --import filename ]
[ --export filename ]
[ --pidfile filename ]
[ --hosts-max count ]
[ --hosts-keep count ]
[ --ports-max count ]
[ --ports-keep count ]
[ --highest-port port ]
[ --wait secs ]
[ --hexdump ]
[ --version ]
[ --help ]
Please refer to the darkstat(8) manual page for further
documentation and usage examples.
[25.10.2016 19:07 ] ### darkstat.sh ended at Tue Oct 25
19:07:02 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/scripts]$
dhtest is DHCP test program.
dhtest usage
[xtrnaw7@t540p /data/download/dhtest-master]$ ./dhtest
-h
Usage: ./dhtest [ options ]
-m mac_address
-N
#
always use interface's MAC address in Ethernet frame
-r, --release
# Releases obtained
DHCP IP for corresponding MAC
-L, --option51-lease_time [ Lease_time ] # Option 51.
Requested lease time in secondes
-I, --option50-ip [ IP_address
] # Option 50 IP address on DHCP discover
-o, --option60-vci [ VCI_string
] # Vendor Class Idendifier string
-h, --option12-hostname [ hostname_string ] # Client
hostname string
-c, --custom-dhcp-option [ option_format ] #
option_format -
option_number,type_of_option_value(str|num|hex|ip),option_value
-v, --vlan [
vlan_id ] # VLAN ID. Range(1 - 4094)
-t, --tos [
TOS_value ] # IP header TOS value
-i, --interface [ interface
] # Interface to use. Default eth0
-T, --timeout [
cmd_timeout ] # Command returns within
specified timout in seconds
-b, --bind-ip
# Listens on the
obtained IP. Supported protocols - ARP and ICMP
-k, --bind-timeout [ timeout
] # Listen timout in seconds. Default 3600
seconds
-f, --bcast_flag
# Sets broadcast flag on DHCP discover
and request
-d, --fqdn-domain-name [ fqdn
] # FQDN domain name to use
-n, --fqdn-server-not-update
# Sets FQDN server not update flag
-s, --fqdn-server-update-a
# Sets FQDN server update flag
-p, --padding
# Add padding to
packet to be at least 300 bytes
-P, --port [
port ] # Use port instead of 67
-g, --giaddr [
giaddr ] # Use giaddr instead of 0.0.0.0
-u, --unicast [
ip ] # Unicast request,
IP is optional. If not specified, the interface address will
be used.
-a, --nagios
# Nagios output
format.
-S, --server [
address ] # Use server address instead of
255.255.255.255
-j, --json
# Set the output
format to json
-D, --decline
# Declines obtained
DHCP IP for corresponding MAC
-V, --verbose
# Prints DHCP offer
and ack details
dhtest version 1.5
[xtrnaw7@t540p /data/download/dhtest-master]$
"
dmidecode reports information about your system's
hardware as described in your system BIOS according to the
SMBIOS/DMI standard (see a sample output). This information
typically includes system manufacturer, model name, serial
number, BIOS version, asset tag as well as a lot of other
details of varying level of interest and reliability depending
on the manufacturer. This will often include usage status for
the CPU sockets, expansion slots (e.g. AGP, PCI, ISA) and memory
module slots, and the list of I/O ports (e.g. serial, parallel,
USB)."
dmidecode usage
[xtrnaw7@t15g /var/tmp/jwm/src]$ ../sbin/dmidecode -h
Usage: dmidecode [OPTIONS]
Options are:
-d, --dev-mem FILE Read memory
from device FILE (default: /dev/mem)
-h,
--help
Display this help text and exit
-q,
--quiet
Less verbose output
--no-quirks Decode
everything without quirks
-s, --string KEYWORD Only display the
value of the given DMI string
-t, --type
TYPE Only display
the entries of given type
-H, --handle HANDLE Only display the
entry of given handle
-u,
--dump
Do not decode the entries
--dump-bin FILE
Dump the DMI data to a binary file
--from-dump FILE Read
the DMI data from a binary file
--no-sysfs
Do not attempt to read DMI data from sysfs files
--oem-string
N Only display the value of the
given OEM string
-V,
--version
Display the version and exit
[xtrnaw7@t15g /var/tmp/jwm/src]$
dropwatch is a tool to improve the ability for
developers and system administrator to diagnose problems in
the Linux Networking stack, specifically in our ability to
diagnose where packets are getting dropped.
dropwatch usage
[xtrnaw7@t540p /var/tmp/jwm/bin]$ ./dropwatch -h
./dropwatch: invalid option -- 'h'
dropwatch [-l|--lmethod <method | list>]
[xtrnaw7@t540p /var/tmp/jwm/bin]$
dropwatch example
[xtrnaw7@t540p /var/tmp/jwm/bin]$ ./dropwatch -l kas
Initalizing kallsyms db
dropwatch> help
Command Syntax:
exit
- Quit dropwatch
help
- Display this message
set:
alertlimit
<number> - caputre only this
many alert packets
start
- start capture
stop
- stop capture
dropwatch> start
Enabling monitoring...
Kernel monitoring activated.
Issue Ctrl-C to stop monitoring
Error Scanning File: : Success
2 drops at location 0xffffffffac9103a8
Error Scanning File: : Success
4 drops at location 0xffffffffac9103a8
Error Scanning File: : Success
2 drops at location 0xffffffffac9103a8
^CGot a stop message
dropwatch> exit
Shutting down ...
[xtrnaw7@t540p /var/tmp/jwm/bin]$
"
dnscap is a network capture utility designed
specifically for DNS traffic. It produces binary data in pcap(3)
and other format. This utility is similar to tcpdump(1), but has
a number of features tailored to DNS transactions and protocol
options. DNS-OARC uses dnscap for DITL data collections."
dnscap usage
[xtrnaw7@t15g /var/tmp/jwm/src/dnscap-2.2.0]$ ../../bin/dnscap
-?
dnscap: version 2.2.0
usage: dnscap
[-?VbNpd1gfTISMD] [-o option=value]+
[-i <if>]+ [-r <file>]+ [-l
<vlan>]+ [-L <vlan>]+
[-u <port>] [-m [qun]] [-e [nytfsxir]] [-h
[ir]] [-s [ir]]
[-a <host>]+ [-z <host>]+ [-A
<host>]+ [-Z <host>]+ [-Y <host>]+
[-w <base> [-W <suffix>] [-k <cmd>]
-F <format>]
[-t <lim>] [-c <lim>] [-C <lim>]
[-x <pat>]+ [-X <pat>]+
[-B <datetime>] [-E <datetime>]
[-U <str>] [-q <num|str>] [-Q
<num|str>]
[-P plugin.so <plugin options...>]
options:
-? or -\? print these instructions and exit
-V
print version and exit
-o opt=val extended options, see man page for list of
options
-b
run in background as daemon
-N do
not attempt to drop privileges, this is implicit
if only reading offline pcap files
-p do
not put interface in promiscuous mode
-d
dump verbose trace information to stderr, specify multiple
times to increase debugging
-1
flush output on every packet
-g
dump packets dig-style on stderr
-f
include fragmented packets
-T
include TCP packets (DNS header filters will inspect only
the
first DNS header, and the result will apply to all messages
in the TCP stream; DNS payload filters will not be applied.)
-I
include ICMP and ICMPv6 packets
-i <if> select this live
interface(s)
-r <file> read this pcap file
-l <vlan> select only these vlan(s) (4095
for all)
-L <vlan> select these vlan(s) and
non-VLAN frames (4095 for all)
-u <port> dns port (default: 53)
-m [qun] select messages: query, update,
notify
-e [nytfsxir] select error/response code
n = no error
y = any error
t = truncated response
f = format error (rcode 1)
s = server failure (rcode 2)
x = nxdomain (rcode 3)
i = not implemented (rcode 4)
r = refused (rcode 5)
-h [ir] hide initiators and/or
responders
-s [ir] select sides: initiations,
responses
-a <host> want messages from these
initiator(s)
-z <host> want messages from these
responder(s)
-A <host> want messages NOT to/from these
initiator(s)
-Z <host> want messages NOT to/from these
responder(s)
-Y <host> drop responses from these
responder(s)
-w <base> dump to
<base>.<timesec>.<timeusec>
-W <suffix> add suffix to dump file name, e.g.
'.pcap'
-k <cmd> kick off <cmd> when
each dump closes
-F <format> dump format: pcap (default), cbor,
cds
-t <lim> close dump or exit
every/after <lim> secs
-c <lim> close dump or exit
every/after <lim> pkts
-C <lim> close dump or exit
every/after <lim> bytes captured
-x <pat> select messages matching
regex <pat>
-X <pat> select messages not
matching regex <pat>
-S
show summarized statistics
-B <datetime> begin collecting at this date and
time
-E <datetime> end collecting at this date and
time
-M
set monitor mode on interfaces
-D
set immediate mode on interfaces
-U <str> append 'and <str>'
to the pcap filter
-q <num|str> select messages based on QTYPE
-Q <num|str> filter out messages based on QTYPE
-P <plugin.so> load plugin, any argument after
this is sent to the plugin!
[xtrnaw7@t15g /var/tmp/jwm/src/dnscap-2.2.0]$
dnscap example
[xtrnaw7@t15g /var/tmp/jwm]$ sudo bin/dnscap -i
enp11s0 -P ./lib/dnscap/eventlog.so
DNS event logging started.
src=192.168.1.108 spt=37330 dst=192.168.1.240
dpt=53 proto=UDP mid=12510 op=0 fl=|RD| rc=OK cl=IN tp=A
name=conncheck.opensuse.org.
src=192.168.1.240 spt=53 dst=192.168.1.108
dpt=37330 proto=UDP mid=12510 op=0 fl=|QR|RD|RA| rc=OK cl=IN
tp=A name=conncheck.opensuse.org.
ans=91.193.113.65,195.135.223.50
src=192.168.1.108 spt=53565 dst=192.168.1.240
dpt=53 proto=UDP mid=62121 op=0 fl=|RD| rc=OK cl=IN tp=A
name=conncheck.opensuse.org.
src=192.168.1.240 spt=53 dst=192.168.1.108
dpt=53565 proto=UDP mid=62121 op=0 fl=|QR|RD|RA| rc=OK cl=IN
tp=A name=conncheck.opensuse.org.
ans=195.135.223.50,91.193.113.65
src=192.168.1.164 spt=40648 dst=192.168.1.240
dpt=53 proto=UDP mid=26757 op=0 fl=|RD| rc=OK cl=IN tp=A
name=www.heise.de.
src=192.168.1.164 spt=40648 dst=192.168.1.240
dpt=53 proto=UDP mid=59524 op=0 fl=|RD| rc=OK cl=IN tp=AAAA
name=www.heise.de.
src=192.168.1.240 spt=53 dst=192.168.1.164
dpt=40648 proto=UDP mid=26757 op=0 fl=|QR|RD|RA| rc=OK cl=IN
tp=A name=www.heise.de. ans=193.99.144.85
src=192.168.1.240 spt=53 dst=192.168.1.164
dpt=40648 proto=UDP mid=59524 op=0 fl=|QR|RD|RA| rc=OK cl=IN
tp=AAAA name=www.heise.de.
ans=2a02:2e0:3fe:1001:7777:772e:2:85
src=192.168.1.164 spt=51446 dst=192.168.1.240
dpt=53 proto=UDP mid=33468 op=0 fl=|RD| rc=OK cl=IN tp=PTR
name=85.144.99.193.in-addr.arpa.
src=192.168.1.240 spt=53 dst=192.168.1.164
dpt=51446 proto=UDP mid=33468 op=0 fl=|QR|RD|RA| rc=OK cl=IN
tp=PTR name=85.144.99.193.in-addr.arpa.
src=192.168.1.164 spt=38124 dst=192.168.1.240
dpt=53 proto=UDP mid=10613 op=0 fl=|RD| rc=OK cl=IN tp=PTR
name=85.144.99.193.in-addr.arpa.
src=192.168.1.240 spt=53 dst=192.168.1.164
dpt=38124 proto=UDP mid=10613 op=0 fl=|QR|RD|RA| rc=OK cl=IN
tp=PTR name=85.144.99.193.in-addr.arpa.
^Cdnscap: signalled break
[xtrnaw7@t15g /var/tmp/jwm]$
"
dstat is a versatile replacement for vmstat, iostat,
netstat and ifstat. Dstat overcomes some of their limitations
and adds some extra features, more counters and flexibility.
Dstat is handy for monitoring systems during performance tuning
tests, benchmarks or troubleshooting.
Dstat allows you to view all of your system resources in
real-time, you can eg. compare disk utilization in combination
with interrupts from your IDE controller, or compare the network
bandwidth numbers directly with the disk throughput (in the same
interval). "
dstat usage
The usage for dstat is:
xtrnaw7@t61p Thu Oct 31 20:29:18 /var/tmp/jwm/bin $ ./dstat
--help
Usage: dstat [-afv] [options..] [delay [count]]
Versatile tool for generating system resource statistics
Dstat options:
-c,
--cpu
enable cpu stats
-C
0,3,total
include cpu0, cpu3 and total
-d,
--disk
enable disk stats
-D
total,hda
include hda and total
-g,
--page
enable page stats
-i,
--int
enable interrupt stats
-I
5,eth2
include int5 and interrupt used by eth2
-l,
--load
enable load stats
-m,
--mem
enable memory stats
-n,
--net
enable network stats
-N
eth1,total
include eth1 and total
-p,
--proc
enable process stats
-r,
--io
enable io stats (I/O requests completed)
-s,
--swap
enable swap stats
-S
swap1,total
include swap1 and total
-t,
--time
enable time/date output
-T,
--epoch
enable time counter (seconds since epoch)
-y,
--sys
enable system stats
--aio
enable aio stats
--fs, --filesystem enable fs
stats
--ipc
enable ipc stats
--lock
enable lock stats
--raw
enable raw stats
--socket
enable socket stats
--tcp
enable tcp stats
--udp
enable udp stats
--unix
enable unix stats
--vm
enable vm stats
--plugin-name
enable plugins by plugin name (see manual)
--list
list all available plugins
-a,
--all
equals -cdngy (default)
-f,
--full
automatically expand -C, -D, -I, -N and -S lists
-v,
--vmstat
equals -pmgdsc -D total
--float
force float values on screen
--integer
force integer values on screen
--bw, --blackonwhite change colors for
white background terminal
--nocolor
disable colors (implies --noupdate)
--noheaders
disable repetitive headers
--noupdate
disable intermediate updates
--output
file
write CSV output to file
delay is the delay in seconds between each update (default:
1)
count is the number of updates to display before exiting
(default: unlimited)
fiemap reads file extents using the FIEMAP ioctl.
Usage: fiemap <file>
fiemap examples
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/src]$ fiemap
/boot/initramfs-4.7.7-100.fc23.x86_64.img
File /boot/initramfs-4.7.7-100.fc23.x86_64.img has 2
extents:
#
Logical
Physical
Length
Flags
0: 0000000000000000 0000000007600400
0000000000a00000 0000
1: 0000000000a00000 000000000a800400
0000000000833800 0001
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/src]$ fiemap
/data/VirtualBox_Harddisks/sles11/SLES\ 11.vdi
File /data/VirtualBox_Harddisks/sles11/SLES 11.vdi has 48
extents:
#
Logical
Physical
Length
Flags
0: 0000000000000000 0000009bd3800000
0000000008000000 0000
1: 0000000008000000 0000009bdb800000
0000000008000000 0000
2: 0000000010000000 0000009be3800000
0000000008000000 0000
3: 0000000018000000 0000009beb800000
0000000008000000 0000
4: 0000000020000000 0000009bf3800000
0000000008000000 0000
5: 0000000028000000 0000009bfb800000
0000000004800000 0000
6: 000000002c800000 0000009c08000000
0000000008000000 0000
7: 0000000034800000 0000009c10000000
0000000008000000 0000
8: 000000003c800000 0000009c18000000
0000000008000000 0000
9: 0000000044800000 0000009c20000000
0000000008000000 0000
10: 000000004c800000 0000009c28000000
0000000008000000 0000
11: 0000000054800000 0000009c30000000
0000000008000000 0000
12: 000000005c800000 0000009c38000000
0000000008000000 0000
13: 0000000064800000 0000009c40000000
0000000008000000 0000
14: 000000006c800000 0000009c48000000
0000000008000000 0000
15: 0000000074800000 0000009c50000000
0000000008000000 0000
16: 000000007c800000 0000009c58000000
0000000008000000 0000
17: 0000000084800000 0000009c60000000
0000000008000000 0000
18: 000000008c800000 0000009c68000000
0000000008000000 0000
19: 0000000094800000 0000009c70000000
0000000008000000 0000
20: 000000009c800000 0000009c78000000
0000000008000000 0000
21: 00000000a4800000 0000009c88000000
0000000008000000 0000
22: 00000000ac800000 0000009c90000000
0000000008000000 0000
23: 00000000b4800000 0000009c98000000
0000000008000000 0000
24: 00000000bc800000 0000009ca0000000
0000000008000000 0000
25: 00000000c4800000 0000009ca8000000
0000000008000000 0000
26: 00000000cc800000 0000009cb0000000
0000000008000000 0000
27: 00000000d4800000 0000009cb8000000
0000000008000000 0000
28: 00000000dc800000 0000009cc0000000
0000000008000000 0000
29: 00000000e4800000 0000009cc8000000
0000000008000000 0000
30: 00000000ec800000 0000009cd0000000
0000000008000000 0000
31: 00000000f4800000 0000009cd8000000
0000000008000000 0000
32: 00000000fc800000 0000009ce0000000
0000000008000000 0000
33: 0000000104800000 0000009ce8000000
0000000008000000 0000
34: 000000010c800000 0000009cf0000000
0000000008000000 0000
35: 0000000114800000 0000009cf8000000
0000000008000000 0000
36: 000000011c800000 0000009d08000000
0000000008000000 0000
37: 0000000124800000 0000009d10000000
0000000008000000 0000
38: 000000012c800000 0000009d18000000
0000000008000000 0000
39: 0000000134800000 0000009d20000000
0000000008000000 0000
40: 000000013c800000 0000009d28000000
0000000008000000 0000
41: 0000000144800000 0000009d30000000
0000000008000000 0000
42: 000000014c800000 0000009d38000000
0000000008000000 0000
43: 0000000154800000 0000009d40000000
0000000008000000 0000
44: 000000015c800000 0000009d48000000
0000000008000000 0000
45: 0000000164800000 0000009d50000000
0000000008000000 0000
46: 000000016c800000 0000009d58000000
0000000008000000 0000
47: 0000000174800000 0000009d60000000
0000000005d09000 0001
"
fnotifystat is a program that dumps the file system
activity in a given period of time."
fnotifystat usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/src]$
fnotifystat -h
fnotifystat, version 0.01.16
Options are:
-c cumulative totals over
time
-d strip directory off the
filenames
-D order stats by unique
device
-f force output
-h show this help
-i specify pathnames to
include on path events
-I order stats by unique
device and inode
-m merge events on same file
and pid in same second
-n no stats, just -v verbose
mode only
-p PID collect stats for just process with pid PID
-P sort stats by process ID
-s disable scaling of file
counts
-t N show just the busiest N files
-T show timestamp
-v verbose mode, dump out all
file activity
-x specify pathnames to
exclude on path events
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/src]$
fnotifystat example
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/src]$ sudo
../sbin/fnotifystat -i /var/log
Total Open Close Read
Write PID
Process
Pathname
4.0 1.0
1.0 2.0 0.0 24828
<unknown> /var/log
4.0 1.0
1.0 2.0 0.0 24827
<unknown> /var/log
Total Open Close Read
Write PID
Process
Pathname
4.0 1.0
1.0 2.0 0.0 24831
<unknown> /var/log
Total Open Close Read
Write PID
Process
Pathname
6.0 0.0
0.0 0.0 6.0
1335 rsyslogd
/var/log/messages
6.0 0.0
0.0 0.0 6.0
1335 rsyslogd
/var/log/secure
3.0 0.0
0.0 0.0 3.0
1257
auditd
/var/log/audit/audit.log
2.0 1.0
0.0 1.0 0.0 24852
more
/var/log/messages
Total Open Close Read
Write PID
Process
Pathname
4.0 0.0
0.0 0.0 4.0
1335 rsyslogd
/var/log/messages
2.0 0.0
0.0 0.0 2.0
1257
auditd
/var/log/audit/audit.log
2.0 0.0
0.0 0.0 2.0
1335 rsyslogd
/var/log/secure
1.0 0.0
1.0 0.0 0.0 24852
more
/var/log/messages
^C[JWM session] [xtrnaw7@t540p /var/tmp/jwm/src]$
"
forkstat is a program that logs process fork(), exec()
and exit() activity. It is useful for monitoring system
behaviour and to track down rogue processes that are spawning
off processes and potentially abusing the system.
Note that forkstat uses the Linux netlink connector to gather
process activity and this may miss events if the system is
overly busy. Netlink connector also requires root privilege."
forkstat usage
[xtrnaw7@t15g /var/tmp/jwm/src]$ ../sbin/forkstat -h
forkstat, version 0.03.02
usage: ../sbin/forkstat
[-c|-d|-D|-e|-E|-g|-h|-l|-s|-S|-q|-x|-X]
-c use task comm field for process name.
-d strip off directory path from process
name.
-D specify run duration in seconds.
-e select which events to monitor.
-E equivalent to -e all.
-g show glyphs for event types.
-h show this help.
-l force stdout line buffering.
-r run with real time FIFO scheduler.
-s show short process name.
-S show event statistics at end of the
run.
-q run quietly and enable -S option.
-x show extra process information.
-X equivalent to -EgrSx.
[xtrnaw7@t15g /var/tmp/jwm/src]$
forkstat example
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
sbin/forkstat -sS -D 5
Time Event PID
Info Duration Process
21:20:43 fork 1944
parent
bash
21:20:43 fork 5562
child
bash
21:20:43 exec
5562
/usr/sbin/tc
21:20:43 exit 5562
0 0.001 /usr/sbin/tc
21:20:44 fork 1944
parent
bash
21:20:44 fork 5563
child
bash
21:20:44 exec
5563
/usr/sbin/tc
21:20:44 exit 5563
0 0.001 /usr/sbin/tc
21:20:44 clone 1
parent
/usr/lib/systemd/systemd
21:20:44 clone 5564
thread
/usr/lib/systemd/systemd
21:20:44 exit 5564
0 0.000 /usr/lib/systemd/systemd
21:20:45 fork 1944
parent
bash
21:20:45 fork 5565
child
bash
21:20:45 exec
5565
/usr/sbin/tc
21:20:45 exit 5565
0 0.001 /usr/sbin/tc
21:20:45 clone 1
parent
/usr/lib/systemd/systemd
21:20:45 clone 5566
thread
/usr/lib/systemd/systemd
21:20:45 exit 5566
0 0.000 /usr/lib/systemd/systemd
21:20:45 clone 1422
parent
/usr/sbin/NetworkManager
21:20:45 clone 5567
thread
/usr/sbin/NetworkManager
21:20:45 exit 5554
0 unknown sleep
21:20:45 fork 4711
parent
/bin/bash
21:20:45 fork 5568
child
/bin/bash
21:20:45 exit 5568
0 0.000 /bin/bash
21:20:45 fork 4711
parent
/bin/bash
21:20:45 fork 5569
child
/bin/bash
21:20:45 exec
5569
/usr/bin/esmtp
21:20:45 exit 5569 19968
0.002 /usr/bin/esmtp
21:20:45 fork 4711
parent
/bin/bash
21:20:45 fork 5570
child
/bin/bash
21:20:45 exec
5570
expr
21:20:45 exit 5570
0 0.001 expr
21:20:45 fork 4711
parent
/bin/bash
21:20:45 fork 5571
child
/bin/bash
21:20:45 exec
5571
sleep
21:20:46 fork 1944
parent
bash
21:20:46 fork 5572
child
bash
21:20:46 exec
5572
/usr/sbin/tc
21:20:46 exit 5572
0 0.001 /usr/sbin/tc
21:20:46 clone 1
parent
/usr/lib/systemd/systemd
21:20:46 clone 5573
thread
/usr/lib/systemd/systemd
21:20:46 exit 5573
0 0.000 /usr/lib/systemd/systemd
21:20:46 fork 2
parent
[kthreadd]
21:20:46 fork 5574
child
[kworker/u16:7]
21:20:46 exit 5479
0 unknown /usr/lib64/firefox/firefox
21:20:47 fork 1944
parent
bash
Time Event PID
Info Duration Process
21:20:47 fork 5575
child
bash
21:20:47 exec
5575
/usr/sbin/tc
21:20:47 exit 5575
0 0.001 /usr/sbin/tc
21:20:47 clone 1
parent
/usr/lib/systemd/systemd
21:20:47 clone 5576
thread
/usr/lib/systemd/systemd
21:20:47 exit 5576
0 0.000 /usr/lib/systemd/systemd
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
"
eventstat periodically dumps out the current kernel
event state. It keeps track of current events and outputs the
change in events on each output update. The tool requires sudo
to run since it needs to write to /proc/timer_stats to start and
stop the event monitoring. "
eventstat usage
[xtrnaw7@t15g /var/tmp/jwm/src]$ ../sbin/eventstat -h
eventstat, version 0.06.00
Usage: eventstat [options] [duration] [count]
Options are:
-c report
cumulative events rather than events per second.
-C report event
count rather than event per second in CSV output.
-d remove
pathname from long process name in CSV output.
-h print this
help.
-l use long
cmdline text from /proc/pid/cmdline for process name.
-n events specifies number of
events to display.
-q run quietly,
useful with option -r.
-r filename specifies a comma
separated values (CSV) output file
to dump samples into.
-s use short
process name from /proc/pid/cmdline for process name.
-S calculate
min, max, average and standard deviation in CSV
output.
-t threshold samples less than the
specified threshold are ignored.
-T enable 'top'
mode rather than a scrolling output.
-w add time
stamp (when events occurred) to output.
[xtrnaw7@t15g /var/tmp/jwm/src]$
eventstat example
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/src]$ sudo
../sbin/eventstat -c -C -l 1 5
Events PID
Task
Init
Function
Callback
99 1691
/opt/teamviewer/tv_bin/teamviewerd
schedule_hrtimeout_range_clock
hrtimer_wakeup
99 14663
/usr/lib64/firefox/plugin-containe
schedule_hrtimeout_range_clock
hrtimer_wakeup
61 3287
/tools/jre1.8_0.101/bin/java -jar
futex_wait_queue_me
hrtimer_wakeup
60 14103
/usr/lib64/firefox/firefox
futex_wait_queue_me
hrtimer_wakeup
50 24351 ./usr/sbin/netdata
-P /tmp/netdata
do_nanosleep
hrtimer_wakeup
34 7
[rcu_sched]
rcu_gp_kthread
process_timeout
26 14078
/usr/lib64/firefox/firefox
futex_wait_queue_me
hrtimer_wakeup
21 3279
/tools/jre1.8_0.101/bin/java -jar
futex_wait_queue_me
hrtimer_wakeup
21 3233 java -Xms16m
-Xmx320m -Djava.libra
futex_wait_queue_me
hrtimer_wakeup
10 1678
/usr/libexec/Xorg -background none
schedule_hrtimeout_range_clock
hrtimer_wakeup
7 18193
mate-terminal
schedule_hrtimeout_range_clock
hrtimer_wakeup
4 1694
/opt/teamviewer/tv_bin/teamviewerd
futex_wait_queue_me
hrtimer_wakeup
4 1693
/opt/teamviewer/tv_bin/teamviewerd
futex_wait_queue_me
hrtimer_wakeup
3 0
[swapper/0]
rpm_suspend
pm_suspend_timer_fn
2 0
[swapper/5]
ehci_enable_event
ehci_hrtimer_func
2 13420
/usr/lib64/virtualbox/VirtualBox
futex_wait_queue_me
hrtimer_wakeup
2 3284
/tools/jre1.8_0.101/bin/java -jar
schedule_hrtimeout_range_clock
hrtimer_wakeup
2 5866
/data/tools/seamonkey/seamonkey-bi
futex_wait_queue_me
hrtimer_wakeup
2 1309
/usr/libexec/accounts-daemon
schedule_hrtimeout_range_clock
hrtimer_wakeup
2 0
[swapper/6]
clocksource_watchdog
clocksource_watchdog
2 13409
/usr/lib64/virtualbox/VBoxSVC --au
futex_wait_queue_me
hrtimer_wakeup
2 3235 java
-Xms16m -Xmx320m -Djava.libra
schedule_hrtimeout_range_clock
hrtimer_wakeup
2 0
[swapper/0]
ehci_enable_event
ehci_hrtimer_func
2 13415
/usr/lib64/virtualbox/VBoxSVC --au
futex_wait_queue_me
hrtimer_wakeup
1 2157
caja
schedule_hrtimeout_range_clock
hrtimer_wakeup
1 20249
[kworker/0:1]
ehci_enable_event
ehci_hrtimer_func
1 3244 java
-Xms16m -Xmx320m -Djava.libra
futex_wait_queue_me
hrtimer_wakeup
1 3224 java
-Xms16m -Xmx320m -Djava.libra
futex_wait_queue_me
hrtimer_wakeup
1 1 /usr/lib/systemd/systemd
--switche
do_timerfd_settime
timerfd_tmrproc
1 20249
[kworker/0:1]
e1000_watchdog_task
e1000_watchdog
1 3275
/tools/jre1.8_0.101/bin/java -jar
futex_wait_queue_me
hrtimer_wakeup
1 24367 /usr/bin/python
/var/tmp/jwm/netda
schedule_hrtimeout_range_clock
hrtimer_wakeup
1 15886
/usr/libexec/goa-identity-service
schedule_hrtimeout_range_clock
hrtimer_wakeup
1 3243 java
-Xms16m -Xmx320m -Djava.libra
futex_wait_queue_me
hrtimer_wakeup
1 2457 syndaemon
-i 0.5 -K
-R
schedule_hrtimeout_range_clock
hrtimer_wakeup
1 0
[swapper/2]
rpm_suspend
pm_suspend_timer_fn
1 3248 java
-Xms16m -Xmx320m -Djava.libra
futex_wait_queue_me
hrtimer_wakeup
1 3247 java
-Xms16m -Xmx320m -Djava.libra
futex_wait_queue_me
hrtimer_wakeup
1 24497 /usr/bin/python
/var/tmp/jwm/netda
schedule_hrtimeout_range_clock
hrtimer_wakeup
1 3245 java
-Xms16m -Xmx320m -Djava.libra
futex_wait_queue_me
hrtimer_wakeup
1 13916
/usr/lib64/firefox/plugin-containe
futex_wait_queue_me
hrtimer_wakeup
1 3246 java
-Xms16m -Xmx320m -Djava.libra
futex_wait_queue_me
hrtimer_wakeup
1 13419
/usr/lib64/virtualbox/VBoxSVC --au
futex_wait_queue_me
hrtimer_wakeup
1 20249
[kworker/0:1]
queue_delayed_work_on
delayed_work_timer_fn
1 16491 bash
/var/tmp/jwm/netdata/usr/libe
do_setitimer
it_real_fn
1 13427
/usr/lib64/virtualbox/VBoxSVC --au
futex_wait_queue_me
hrtimer_wakeup
1 3277
/tools/jre1.8_0.101/bin/java -jar
futex_wait_queue_me
hrtimer_wakeup
1 24354
./usr/sbin/netdata -P /tmp/netdata
do_nanosleep
hrtimer_wakeup
1 1652
/usr/sbin/httpd
-DFOREGROUND
schedule_hrtimeout_range_clock
hrtimer_wakeup
1 3249 java
-Xms16m -Xmx320m -Djava.libra
futex_wait_queue_me
hrtimer_wakeup
1 810
/sbin/multipathd
do_nanosleep
hrtimer_wakeup
1 1682
/opt/teamviewer/tv_bin/teamviewerd
do_nanosleep
hrtimer_wakeup
1 3270
/tools/jre1.8_0.101/bin/java -jar
futex_wait_queue_me
hrtimer_wakeup
1 20249
[kworker/0:1]
msleep
process_timeout
1 24356
./usr/sbin/netdata -P /tmp/netdata
do_nanosleep
hrtimer_wakeup
1 24498 /usr/bin/python
/var/tmp/jwm/netda
schedule_hrtimeout_range_clock
hrtimer_wakeup
1 3042 gpg-agent
--homedir /home/xtrnaw7/
schedule_hrtimeout_range_clock
hrtimer_wakeup
1 3250 java
-Xms16m -Xmx320m -Djava.libra
futex_wait_queue_me
hrtimer_wakeup
1 19553
[kworker/5:1]
ehci_enable_event
ehci_hrtimer_func
1 2775
/usr/lib64/thunderbird/thunderbird
futex_wait_queue_me
hrtimer_wakeup
1 2254
/usr/bin/cairo-dock
schedule_hrtimeout_range_clock
hrtimer_wakeup
1 19174 adb -P 5037
fork-server server --r
do_nanosleep
hrtimer_wakeup
1 14678
/usr/lib64/firefox/plugin-containe
futex_wait_queue_me
hrtimer_wakeup
1 13
[watchdog/0]
enqueue_task_rt
sched_rt_period_timer
1 5287
top
schedule_hrtimeout_range_clock
hrtimer_wakeup
1 392
systemd-udevd
gen6_read32
intel_uncore_fw_release_timer
1 3276
/tools/jre1.8_0.101/bin/java -jar
futex_wait_queue_me
hrtimer_wakeup
1 64
[watchdog/7]
watchdog_enable
watchdog_timer_fn
1 16611
[kworker/u16:1]
queue_delayed_work_on
delayed_work_timer_fn
1 19553
[kworker/5:1]
msleep
process_timeout
1 3274
/tools/jre1.8_0.101/bin/java -jar
futex_wait_queue_me
hrtimer_wakeup
1 1707
/opt/teamviewer/tv_bin/teamviewerd
schedule_hrtimeout_range_clock
hrtimer_wakeup
1 56
[watchdog/6]
watchdog_enable
watchdog_timer_fn
1 24352
./usr/sbin/netdata -P /tmp/netdata
do_nanosleep
hrtimer_wakeup
1 12989
/var/tmp/jwm/netdata/usr/libexec/n
do_nanosleep
hrtimer_wakeup
570 Total events, 569.43 events/sec (kernel: 53.95,
userspace: 515.48)
Using eventstat in top mode:
[JWM session] [xtrnaw7@t540p
/var/tmp/jwm/src]$ sudo ../sbin/eventstat -T
"Faultstat reports the page fault activity of processes
running on a system. The tool supports a 'top' like mode to
dynamically display the top page faulting processes."
faultstat usage
[xtrnaw7@t15g /var/tmp/jwm/src]$ ../bin/faultstat -h
faultstat, version 0.01.11
Usage: faultstat [options] [duration] [count]
Options are:
-a show page
fault change with up/down arrows
-c get command
name from processes comm field
-d strip
directory basename off command information
-h show this
help information
-l show long
(full) command information
-p proclist specify comma separated
list of processes to monitor
-s show short
command information
-t top mode,
show only changes in page faults
-T top mode,
show top page faulters
[xtrnaw7@t15g /var/tmp/jwm/src]$
faultstat examples
[xtrnaw7@t540p /var/tmp/jwm/src]$ ../bin/faultstat
PID Major
Minor Swap
User Command
11009 61939 21961k
32344 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet
11184 41016 18315k
55412 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 10304
67780 6859k 41644
xtrnaw7 /usr/lib64/firefox/firefox
262429 36340 5832k
124928 xtrnaw7 /usr/bin/seamonkey
9396 12597
5719k 59804 xtrnaw7
/usr/bin/cairo-dock
11158 12408 4680k
12976 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 11467
3498 3347k 12596
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 11483
2667 3343k 7472
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 11486
3345 3314k 5060
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 11485
2886 3306k 4128
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 11633
10530 2657k 196012
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 11197
6194 2175k 4576
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 11076
19245 2024k 58332
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=gpu-process
--field-trial-handle=400491755866208736,3501711437358555926,131072
--gpu-preferences=KAAAAAAAAAAgAAAgAAAAAAAAYAAAAAAAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAA
--us 2679 17174
1952k 17092
root /usr/libexec/Xorg
12416 18955 1793k
14988 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 12556
26010 1702k 24364
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 11803
16761 1601k 72892
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 12635
15271 1551k 23948
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 107700
5670 1406k 29444
xtrnaw7 /usr/lib64/virtualbox/VirtualBoxVM
13996 202005 1136k
611944 xtrnaw7
/tools/jdk-14.0.2/bin/java
106032 5539 1189k
11584 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
9587 572
1167k 352 xtrnaw7
/bin/ksh
11223 26162 1067k
72668 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 12312
11466 931599 6780
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 107641
7080 809351 38472
xtrnaw7 /usr/lib64/virtualbox/VirtualBoxVM
12568 18736 738609
27344 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 11322
1536 754026 3544
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 12624
9101 742392 10176
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 11262
4101 743905 4760
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 10134
79884 610962 93404
xtrnaw7 /usr/lib64/thunderbird/thunderbird
11081 10828
678921 7144
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=utility
--field-trial-handle=400491755866208736,3501711437358555926,131072
--lang=en-US --service-sandbox-type=network
--enable-audio-service-sandbox --shared-files=v
14051 86855 569830 235972
xtrnaw7 java
11713 10549 645850
33244 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 98128
34952 591534 51728
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 10479
4133 535372 3676
xtrnaw7 /usr/lib64/firefox/firefox
11648 6299 518823
28708 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 12468
13494 482764 14636
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 12235
19527 445611 14116
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 12587
13505 415171 14268
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 11145
5450 370902 8896
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 11762
5249 328675 18000
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 12035
6315 322564 9568
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
11470 324 324175
12508 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 12485
9642 301599 12240
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
138774 841
300862 676
xtrnaw7 bash
366129 743 288486
15476 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
9982 4836 274107 109064
xtrnaw7 /usr/lib64/virtualbox/VirtualBoxVM
248547 16425 251168
24576 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 12582
7277 258281 8316
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
9427 3040 252901 12864
xtrnaw7 mate-screensaver
11171 335
253397 25268 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 12613
9205 238924 9704
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 12877
1319 236196 52328
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 262070
6095 202782 16352
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 9293
29510 177703 38080
xtrnaw7 /usr/bin/caja
12177 5483 162896
20996 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 12134
1233 152184 30052
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
1440 3401 149107
4720 root
/usr/libexec/udisks2/udisksd
49220 1277 126468
95668 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 11337
2645 113852 3396
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
365813 898 112385
9396 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 365987
1334 103135 13888
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
1 4563 97144
1328 root
/usr/lib/systemd/systemd
12915 1457
96533 84820 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
11990 674 95346
24072 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
366017 205 90077
14780 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
822 9677
68283 976
root
/usr/lib/systemd/systemd-journald
49206 2869
74850 9648 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
12088 981 76022
30332 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
11983 857 66312
33672 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 12141
1279 64718 38404
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 105632
9866 52898 129452
xtrnaw7 /data/tools/Telegram/Telegram
12093 896
60251 20436 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
9928 4233 54658
64816 xtrnaw7
/usr/lib64/virtualbox/VirtualBox
11437 254
56713 13316 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
12047 923 51404
18112 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
11236 229
49625 6096 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 12152
2218 47307 11256
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
12072 879 48423
23412 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
12029 741 46167
22520 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur 12105
2702 42164 9216
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
2489 991
40309 9840
root /usr/sbin/httpd
12005 863
39940 24352 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
12010 886 39640
29848 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
11249 567
39385 4976 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
9262 2821 32238
7612 xtrnaw7 marco
155485 8639 25904
15888 xtrnaw7 geany
11436 261
31480 9532 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
9255 2106 26653
7832 xtrnaw7
/usr/libexec/mate-settings-daemon
1518 2244
26146 5920 polkitd
/usr/lib/polkit-1/polkitd
11984 509
27424 18240 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
11889 265
26060 6488 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
12089 584 25409
19120 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
12153 874 25021
21908 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
12902 781 24889
23680 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
12942 826 24700
19040 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
365784 182 23862
18608 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
11892 232 21892
11292 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
9272 5084 16556
12568 xtrnaw7 mate-panel
9668 8230
12513 5500 xtrnaw7
/usr/libexec/mate-applets/mateweather-applet
107380 1866
18173 1084 xtrnaw7
mate-terminal
1407 939
18742 22644
root /usr/bin/python3
9267 4294
15138 2812 xtrnaw7
/usr/bin/pulseaudio
11906 136
19259 4044 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
11822 175
18782 3892 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
11588 274
18076 4292 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
11896 236
17865 4548 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
11529 210
17747 3436 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
366498 135
17676 8892 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
49593 782 16670
21508 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
366654 157 17094
13324 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
9683 5336 11456
9524 xtrnaw7
/usr/libexec/mate-applets/stickynotes-applet
9007 1630
15018 1668 xtrnaw7
/usr/lib/systemd/systemd
365653 318
15307 19124 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
365654 252 13320
10960 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
9021 546
13001 4624 xtrnaw7
mate-session
9430 662
12793 31616 xtrnaw7
/usr/bin/python3
9312 1803
10927 24704 xtrnaw7
/usr/bin/python3
265876 1822
10420 9836 xtrnaw7
mate-screenshot
11957 181
11275 2692 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
9381 704
10041 4036 xtrnaw7
/usr/bin/mate-terminal
368835 156
10462 0
xtrnaw7 mate-screenshot
368891 12
10425 0
xtrnaw7 mate-screenshot
11942 424
9157 1276 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
9667 3343
6231 8188 xtrnaw7
/usr/libexec/mate-panel/clock-applet
9377 1583
7985 11096 xtrnaw7
nm-applet
3252
330 8844 816
root
/usr/lib/systemd/systemd-userdbd
9318
446 8713 17208
xtrnaw7 blueberry-tray
11058 118
8750 188
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=zygote
9670 2203
5365 5044 xtrnaw7
/usr/libexec/mate-applets/mate-cpufreq-applet
9726 1697
5672 10420 xtrnaw7
/usr/libexec/mate-volume-control-applet
9954 1569
5686 5788 xtrnaw7
/usr/lib64/virtualbox/VBoxSVC
9728 1846
5381 9512 xtrnaw7
/usr/libexec/mate-panel/notification-area-applet
9682 2259
4929 5740 xtrnaw7
/usr/local/libexec/lockkeys_applet
846
578 6542 4348
root
/usr/lib/systemd/systemd-udevd
9278 2365
3810 1336 xtrnaw7
/usr/libexec/gvfs-udisks2-volume-monitor
49329 663
5239 3768 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
9857 1298
4313 324
xtrnaw7 /usr/libexec/gvfsd-metadata
9249 1939
3548 344
xtrnaw7 /usr/libexec/dconf-service
282362
3 5382 1980
xtrnaw7 bash
49311 311
4981 1044 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
9319 890
4281 6092 xtrnaw7
mate-power-manager
9300
337 4739 10380
xtrnaw7
/usr/libexec/evolution-data-server/evolution-alarm-notify
1399 2353
2708 2592
dbus dbus-broker
9723 1210
3608 7116 xtrnaw7
/usr/libexec/mate-brightness-applet
1421 1409
3326 848
root /usr/sbin/rsyslogd
1717 1711
2975 1768
root
/usr/sbin/NetworkManager
11054
56 4497 188
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=zygote
9687
854 3674 7212
xtrnaw7
/usr/libexec/mate-applets/trashapplet
155572 863
3136 6632 xtrnaw7
/usr/libexec/tracker-store
9039 2024
1777 856
xtrnaw7 dbus-broker
9836
173 3472 8052
xtrnaw7 /usr/bin/python
107386 19
3571 80
xtrnaw7 bash
9731 1289
2168 656
xtrnaw7 /usr/libexec/gvfsd-trash
9508
717 2735 3112
xtrnaw7
/usr/libexec/xdg-desktop-portal-gtk
2557
862 2528 1568
root /usr/sbin/lightdm
365836 152
3162 1172 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
9627 0
3221 8100 xtrnaw7
/usr/bin/python3
9438 1182
1960 1496 xtrnaw7
/usr/libexec/xdg-desktop-portal
1345
6 3088
0 root
/sbin/multipathd
9050
831 2253 608
xtrnaw7 /usr/libexec/gvfsd
1915
884 2119 2148
root
/usr/bin/abrt-dump-journal-oops
9289
161 2776 6448
xtrnaw7 /usr/libexec/goa-daemon
9589
371 2539 4556
xtrnaw7
/usr/libexec/evolution-calendar-factory
9547
851 2041 968
root
/usr/libexec/upowerd
2497
122 2613 824
root /usr/sbin/crond
1401
752 1975 1132
root
/usr/libexec/accounts-daemon
9549
911 1800 2080
root /usr/sbin/abrt-dbus
329615 87
2586 12420 apache
/usr/sbin/httpd
329624 58
2605 12428 apache
/usr/sbin/httpd
329614 117
2545 12420 apache
/usr/sbin/httpd
9469
228 2249 4516
xtrnaw7
/usr/libexec/evolution-source-registry
365758 170
2237 3508 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
365714 123
2279 3396 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
1916 654
1745 2088
root
/usr/bin/abrt-dump-journal-xorg
1914
703 1683 1968
root
/usr/bin/abrt-dump-journal-core
2519 1218
1141 1560
root
/opt/teamviewer/tv_bin/teamviewerd
1737
88 2251 3876
root php-fpm: master
process (/etc/php-fpm.conf)
1400
592 1559 1848
root
/usr/sbin/ModemManager
9872
570 1481 1812
xtrnaw7 /usr/libexec/gvfsd-computer
155539 480
1555 540
xtrnaw7 /usr/libexec/gvfsd-network
366698
7 2000 1536
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=renderer
--field-trial-handle=400491755866208736,3501711437358555926,131072
--disable-gpu-compositing --lang=en-US --enable-auto-reload
--origin-trial-disabled-featur
9679 130
1865 3716 xtrnaw7
/usr/libexec/evolution-addressbook-factory
12374 285
1708 652
xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=utility
--field-trial-handle=400491755866208736,3501711437358555926,131072
--lang=en-US --service-sandbox-type=utility
--enable-audio-service-sandbox --shared-files=v
155490 0
1990 1852 xtrnaw7
/bin/bash
9366
166 1661 3532
xtrnaw7 abrt-applet
9018
437 1322 1016
xtrnaw7 /usr/bin/gnome-keyring-daemon
2039
606 1112 724
root
/usr/sbin/wpa_supplicant
9948
4 1637 2064
xtrnaw7
/usr/lib64/virtualbox/VBoxXPCOMIPCD
1439
323 1289 884
root
/usr/lib/systemd/systemd-logind
1761
200 1217 1984
colord /usr/libexec/colord
9477
484 904
576 xtrnaw7
/usr/libexec/xdg-document-portal
9507
338 1039 764
xtrnaw7
/usr/libexec/gvfs-afc-volume-monitor
9475
402 970
640 xtrnaw7
/usr/libexec/gvfs-gphoto2-volume-monitor
1437
226 1143 1024
root
/usr/lib/systemd/systemd-homed
9298
60 1307 1300
xtrnaw7
/usr/libexec/polkit-mate-authentication-agent-1
9557
220 1128 2352
xtrnaw7 /usr/bin/pipewire
9492
394 910
492 xtrnaw7
/usr/libexec/gvfs-mtp-volume-monitor
1738
259 1031 908
root sshd:
/usr/sbin/sshd -D [listener] 0 of 10-100 startups
9543
0 1252 3848
xtrnaw7 /usr/bin/python3
9047
16 1219 1264
xtrnaw7 /usr/libexec/imsettings-daemon
9284
355 812
356 xtrnaw7
/usr/libexec/gvfs-goa-volume-monitor
1427
343 774 1360
root /usr/sbin/smartd
1486
20 1088 2412
root /usr/sbin/abrtd
9239
222 876
220 xtrnaw7 dbus-broker
1398
120 953
936 dbus
/usr/bin/dbus-broker-launch
9562
243 807 1860
xtrnaw7 /usr/bin/pipewire-media-session
4131
4 1013 2056
root lightdm
9256
210 763
672 xtrnaw7
/usr/libexec/at-spi2-registryd
1734
9 964 2376
root /usr/sbin/cupsd
50954
97 846 1664
xtrnaw7 /usr/libexec/gvfsd-http
1405
148 782
316 root
/usr/libexec/bluetooth/bluetoothd
1376
389 533
768 root
/sbin/auditd
9055
152 702 1176
xtrnaw7 /usr/libexec/gvfsd-fuse
9038
205 623
284 xtrnaw7
/usr/bin/dbus-broker-launch
155557 177
636 1008 xtrnaw7
/usr/libexec/gvfsd-dnssd
9462
45 687
996 xtrnaw7
/usr/libexec/goa-identity-service
1404
197 527
240 avahi avahi-daemon:
running [t540p.local]
9234
90 622
788 xtrnaw7
/usr/libexec/at-spi-bus-launcher
10053
0 711
276 xtrnaw7 /usr/bin/ksh
1429
2 613
632 root
/usr/libexec/switcheroo-control
1418
30 569 1032
root /sbin/rngd
1378
145 397
324 root
/usr/sbin/sedispatch
9599
48 474
320 xtrnaw7 /usr/bin/top
369420
17 493
16 root
systemd-userwork
369426
0
500 0
root systemd-userwork
369450
0
498 0
root systemd-userwork
14017
0 414
300 xtrnaw7 /bin/bash
9490
2 385
568 xtrnaw7
/usr/libexec/xdg-permission-store
329609
7 376 9940
apache /usr/sbin/httpd
1432
107 275
256 chrony /usr/sbin/chronyd
2546
17 330
588 root
/usr/libexec/nss_pcache
9412
1 336
616 xtrnaw7
/usr/libexec/geoclue-2.0/demos/agent
316766
5 302
556 xtrnaw7 /usr/bin/ssh-agent
1423
2 288
284 rtkit
/usr/libexec/rtkit-daemon
368859
0
273 0
xtrnaw7 mate-screenshot
265887
0 272 12868
xtrnaw7 mate-screenshot
368903
0
270 0
xtrnaw7 mate-screenshot
1409
15 252
228 root
/usr/sbin/irqbalance
11055
13 243
64 xtrnaw7
/data/tools/slimjet-26.0.12.0/nacl_helper
9238
0 246
332 xtrnaw7
/usr/bin/dbus-broker-launch
1470
5 238
260 root
/usr/sbin/alsactl
2494
18 223
228 root
/usr/sbin/atd
1775
0 238 3984
apache php-fpm: pool www
1777
0 234 3984
apache php-fpm: pool www
1776
0 219 3984
apache php-fpm: pool www
1774
0 217 3976
apache php-fpm: pool www
1773
0 214 3980
apache php-fpm: pool www
1746
1 207
680 root
/usr/sbin/gssproxy
10096
32 167 1420
root truecrypt
13995
0 194
264 xtrnaw7 /bin/sh
370078
0
185 0
xtrnaw7 ../bin/faultstat
1413
1 173
104 root
/usr/sbin/mcelog
11093
0 130
352 xtrnaw7
/data/tools/slimjet-26.0.12.0/slimjet --type=broker
9500
1 118
108 xtrnaw7 fusermount
9563
0 103
112 xtrnaw7 /usr/sbin/rfkill
10094
0 85
1328 root
truecrypt
9204
25 52
472 xtrnaw7 /usr/bin/ssh-agent
10085
0 73
392 root
/usr/bin/dbus-daemon
9835
0 64
256 xtrnaw7 sh
10084
0 62
384 root
dbus-launch
9008
0 51
3732 xtrnaw7 (sd-pam)
2481
0 51
404 root
/usr/bin/rsync
1454
0 46
320 avahi avahi-daemon:
chroot helper
18661
0 0
20960 xtrnaw7
/usr/lib64/firefox/firefox
10656
0 0
17100 xtrnaw7
/usr/lib64/firefox/firefox
10630
0 0
10872 xtrnaw7
/usr/lib64/firefox/firefox
10604
0 0
4284 xtrnaw7
/usr/lib64/firefox/firefox
10578
0 0
5760 xtrnaw7
/usr/lib64/firefox/firefox
10552
0 0
33484 xtrnaw7
/usr/lib64/firefox/firefox
10524
0 0
21900 xtrnaw7
/usr/lib64/firefox/firefox
10498
0 0
22988 xtrnaw7
/usr/lib64/firefox/firefox
10409
0 0
10960 xtrnaw7
/usr/lib64/firefox/firefox
Total: 1232k 115990k
[xtrnaw7@t540p /var/tmp/jwm/src]$
Using faultstat in top like mode:
[xtrnaw7@t540p /var/tmp/jwm/src]$ ../bin/faultstat
-t -d -a -s
"
fping is a program to send ICMP echo probes to network
hosts, similar to ping, but much better performing when pinging
multiple hosts."
fping usage
[xtrnaw7@t540p /var/tmp/jwm/src/fping-5.0]$
/var/tmp/jwm/sbin/fping -h
Usage: /var/tmp/jwm/sbin/fping [options] [targets...]
Probing options:
-4,
--ipv4 only
ping IPv4 addresses
-6,
--ipv6 only
ping IPv6 addresses
-b, --size=BYTES amount of ping
data to send, in bytes (default: 56)
-B, --backoff=N set
exponential backoff factor to N (default: 1.5)
-c, --count=N
count mode: send N pings to each target
-f, --file=FILE read list of
targets from a file ( - means stdin)
-g, --generate generate
target list (only if no -f specified)
(give start and end IP in the target list, or a CIDR
address)
(ex. /var/tmp/jwm/sbin/fping -g 192.168.1.0 192.168.1.255 or
/var/tmp/jwm/sbin/fping -g 192.168.1.0/24)
-H,
--ttl=N set the IP
TTL value (Time To Live hops)
-I, --iface=IFACE bind to a particular
interface
-l,
--loop loop
mode: send pings forever
-m,
--all
use all IPs of provided hostnames (e.g. IPv4 and IPv6), use
with -A
-M, --dontfrag set the
Don't Fragment flag
-O,
--tos=N set the
type of service (tos) flag on the ICMP packets
-p, --period=MSEC interval between ping
packets to one target (in ms)
(in loop and count modes, default: 1000 ms)
-r, --retry=N
number of retries (default: 3)
-R,
--random random packet
data (to foil link data compression)
-S,
--src=IP set source
address
-t, --timeout=MSEC individual target initial
timeout (default: 500 ms,
except with -l/-c/-C, where it's the -p period up to 2000
ms)
Output options:
-a,
--alive show
targets that are alive
-A,
--addr show
targets by address
-C, --vcount=N same as
-c, report results in verbose format
-D, --timestamp print
timestamp before each output line
-e, --elapsed
show elapsed time on return packets
-i, --interval=MSEC interval between
sending ping packets (default: 10 ms)
-n,
--name show
targets by name (-d is equivalent)
-N, --netdata
output compatible for netdata (-l -Q are required)
-o,
--outage show the
accumulated outage time (lost packets * packet interval)
-q,
--quiet quiet
(don't show per-target/per-ping results)
-Q, --squiet=SECS same as -q, but show
summary every n seconds
-s,
--stats print
final stats
-u, --unreach
show targets that are unreachable
-v, --version
show version
-x, --reachable=N shows if >=N hosts
are reachable or not
[xtrnaw7@t540p /var/tmp/jwm/src/fping-5.0]$
fping examples
[xtrnaw7@t540p /var/tmp/jwm/src/fping-5.0]$
/var/tmp/jwm/sbin/fping 192.168.1.161 192.168.1.164
192.168.1.151
192.168.1.164 is alive
192.168.1.151 is alive
192.168.1.161 is unreachable
[xtrnaw7@t540p /var/tmp/jwm/src/fping-5.0]$
[xtrnaw7@t540p /var/tmp/jwm/src/fping-5.0]$
/var/tmp/jwm/sbin/fping -g 192.168.1.1 192.168.1.254
192.168.1.1 is alive
192.168.1.100 is alive
192.168.1.116 is alive
192.168.1.116 : duplicate for [0], 64 bytes, 104
ms
192.168.1.151 is alive
192.168.1.164 is alive
192.168.1.170 is alive
192.168.1.166 is alive
192.168.1.240 is alive
192.168.1.249 is alive
192.168.1.251 is alive
192.168.1.253 is alive
192.168.1.2 is unreachable
192.168.1.3 is unreachable
192.168.1.4 is unreachable
192.168.1.5 is unreachable
....
192.168.1.254 is unreachable
[xtrnaw7@t540p /var/tmp/jwm/src/fping-5.0]$
[xtrnaw7@t540p /var/tmp/jwm/src/fping-5.0]$
/var/tmp/jwm/sbin/fping -g 192.168.1.0/24
192.168.1.1 is alive
192.168.1.100 is alive
192.168.1.116 is alive
192.168.1.151 is alive
192.168.1.164 is alive
192.168.1.166 is alive
192.168.1.170 is alive
192.168.1.240 is alive
192.168.1.249 is alive
192.168.1.251 is alive
192.168.1.253 is alive
192.168.1.2 is unreachable
...
192.168.1.254 is unreachable
[xtrnaw7@t540p /var/tmp/jwm/src/fping-5.0]$
"fsmon retrieves file system events from a specific
directory and shows them in colorful format or in JSON."
fsmon usage
[xtrnaw7@t15g /var/tmp/jwm/bin]$ ./fsmon -h
Usage: ./fsmon [-Jjc] [-a sec] [-b dir] [-B name]
[-p pid] [-P proc] [path]
-a [sec] stop monitoring after N
seconds (alarm)
-b [dir] backup files to DIR folder
(EXPERIMENTAL)
-B [name] specify an alternative backend
-c
follow children of -p PID
-f
show only filename (no path)
-h
show this help
-j
output in JSON format
-J
output in JSON stream format
-n
do not use colors
-L
list all filemonitor backends
-p [pid] only show events from this
pid
-P [proc] events only from process name
-v
show version
[path] only get events
from this path
Examples:
fsmon /data
fsmon -J / | jq -r .filename
fsmon -B fanotify /home
[1]+
Done
geany
[xtrnaw7@t15g /var/tmp/jwm/bin]$
The parameter for fsmon must be directory
fsmon examples
n/a
fspy is a tool to monitor filesystem changes in realtime.
fspy usage
xtrnaw7@t61p Thu Oct 31 20:31:37 /var/tmp/jwm/bin $
./fspy --help
Usage: fspy [options] [file/dir]
Options:
-F, --filter STRING/REGEX a string
or regular expression which will be used to filter the
output.
(the regex will be matched against the
whole path e.g. [/etc/passwd])
-I, --inverted STRING/REGEX its the
same like -F/--filter but inverted. you can combine both.
e.g. -F '.conf' -I 'wvdial.conf' will
filter for files with ".conf"
in its name but without "wvdial.conf" in
it.
-R, --recursive NUMBER enables the
recursive engine to look at a depth of NUMBER.
-A, --adaptive
(HIGHLY-EXPERIMENTAL) enables the
adaptive mode. e.g. if new items will be added
within the path fspy
will automatically add those items to the watch list.
-D, --diff VALUE
(EXPERIMENTAL) enables the diffing feature.
VALUE may be a comma
separated list of:
s - element size
(byte)
A - last access time
(e.g. Mon Jul 21 21:32:31 2008)
M - last modification
time (e.g. Mon Jul 21 21:32:31 2008)
S - last status change
time (e.g. Mon Jul 21 21:32:31 2008)
O - permissions
(octal)
U - owner (uid)
G - group (gid)
I - inode number
D - device id
-T, --type VALUE
specifies the type of objects to look for.
VALUE may be a comma
separated list of:
f - regular file
d - directory
s - symlink
p - FIFO/pipe
c - character device
b - block device
o - socket
default is any.
-O, --output VALUE
specifies output format.
VALUE may be a comma
separated list of:
f - filename
p - path
d - access description
t - element type
s - element size
(byte)
w - watch descriptor
(inotify manpage)
c - cookie (inotify
manpage)
m - access mask
(inotify manpage | src/fsevents.h)
l - len (inotify
manpage)
A - last access time
(e.g. Mon Jul 21 21:32:31 2008)
M - last modification
time (e.g. Mon Jul 21 21:32:31 2008)
S - last status change
time (e.g. Mon Jul 21 21:32:31 2008)
O - permissions
(octal)
U - owner (uid)
G - group (gid)
I - inode number
D - device id
T - date and time (for
this event) (e.g. Tue Mar 25 09:23:16 CET 2008)
e.g.: '[,T,],
,d,:,p,f' would result in:
'[Mon Sep 1
12:31:25 2008] file was opened:/etc/passwd'
(take a look at the
README).
-h, --help
this short help.
--version
version information.
"The
health-check tool monitors processes in various
ways to help identify areas where it is consuming too many
resources. One can trace one or more processes (including all
their threads and child processes too) for a full story of
system activity.
Health-check can monitor:
CPU usage
Kernel wake-up events
File I/O activity (open,read,write,close)
System call activity
Excessive polling of timeout wait blocked
system calls (such as poll, select, etc)
Memory usage (such as heap and stack growth)
Network connections (to spot rogue internet
activity)
Network usage (send/receive) accounting
Syncing data via fsync, fdatasync, syncfs and
sync system calls
Page fault accounting
..and can also dump the stats into a JSON formatted file for
later analysis."
health-check usage
[xtrnaw7@t15g /var/tmp/jwm/src]$ ../sbin/health-check
-h
health-check, version 0.04.00
Usage: health-check [options] [command [options]]
Options are:
-b brief (terse)
output
-c
find all child processes on start-up
(only useful with -p option)
-d
specify the analysis duration in seconds
(default is 60 seconds)
-f follow
fork/vfork/clone system calls
-h
show this help
-p pid[,pid] specify process id(s) or process
name(s) to be traced
-m max
specify maximum number of system calls to trace
(default is 1000000)
-o file output
results to a json data file
-r
resolve IP addresses
-u user run
command as a specified user
-v
verbose output
-w
monitor wakelock count
-W
monitor wakelock usage (has overhead)
[xtrnaw7@t15g /var/tmp/jwm/src]$
health-check example
[[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
/var/tmp/jwm/sbin/health-check uname
Linux
CPU usage (in terms of 1 CPU):
PID
Process
USR% SYS% TOTAL% Duration
14561
uname
0.00 0.00
0.00 0.00 (idle)
Page Faults:
PID
Process
Minor/sec Major/sec
Total/sec
14561
uname
45189.50
0.00 45189.50
Context Switches:
PID
Process
Voluntary Involuntary
Total
Ctxt Sw/Sec Ctxt Sw/Sec Ctxt Sw/Sec
14561
uname
48833.82
0.00 48833.82 (very high)
File I/O operations:
PID
Process
Count Op Filename
14561
uname
1 C /usr/lib/locale/locale-archive
14561
uname
1 C /usr/lib64/libc-2.26.so
14561
uname
1 C /usr/lib64/ld-2.26.so
14561
uname
1 C /usr/bin/uname
14561
uname
1 O /usr/lib/locale/locale-archive
14561
uname
1 C /etc/ld.so.cache
14561
uname
1 R /usr/lib64/libc-2.26.so
14561
uname
1 O /usr/lib64/libc-2.26.so
14561
uname
1 O /etc/ld.so.cache
14561
uname
1 OR /usr/lib64/ld-2.26.so
14561
uname
1 OR /usr/bin/uname
Total
11
Op: O=Open, R=Read, W=Write, C=Close
File I/O Operations per second:
PID
Process
Open Close Read
Write
14561
uname
3644.31 3644.31 2186.59 0.00
System calls traced:
PID
Process
Syscall
Count Rate/Sec Total
μSecs % Call Time
14561
uname
mmap
6
4373.1778
50 11.6822
14561
uname
close
5
3644.3149
25 5.8411
14561
uname
fstat
4
2915.4519
19 4.4393
14561
uname
brk
4
2915.4519
25 5.8411
14561
uname
mprotect
4
2915.4519
25 5.8411
14561
uname
openat
2
1457.7259
15 3.5047
14561
uname
access
1
728.8630
12 2.8037
14561
uname
open
1
728.8630
9 2.1028
14561
uname
read
1
728.8630
6 1.4019
14561
uname
write
1
728.8630
30 7.0093
14561
uname
munmap
1
728.8630
10 2.3364
14561
uname
uname
1
728.8630
4 0.9346
14561
uname
execve
1
728.8630
194 45.3271
14561
uname
arch_prctl
1
728.8630
4 0.9346
14561
uname
exit_group
1
728.8630
0 0.0000
Total
34
24781.3411
428
Filesystem Syncs:
None.
Inotify watches added:
None.
Memory:
Per Process Memory (K):
PID
Process
Type
Size
RSS PSS
14561
uname
Stack
132
12 12
14561
uname
Heap
160
32 32
14561
uname
Mapped
113328
2076 85
Change in memory (K/second):
PID
Process
Type
Size
RSS PSS
14561
uname
Stack 0.00
-2915.45 -2915.45 (shrinking very fast)
14561
uname
Heap -306122.45 -276967.93 -151603.50 (shrinking
very fast)
14561
uname
Mapped 76539358.60 1046647.23 -11661.81 (growing very fast)
Heap Change via brk():
PID
brk Count Change (K) Rate (K/Sec)
14561
uname
1
0 0.00
(no change)
Memory Change via mmap() and munmap():
PID
mmaps munmaps Change (K) Rate (K/Sec)
14561
uname
6
1
113172 82486926.02 (growing
very fast)
Open Network Connections:
None.
Analysis ran for just 0.0014 seconds, so rate calculations
may be misleading
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
hdperf is a harddrive performance benchmark tool; the
usage is
./hdperf [device] [secs]
"horst is a small, lightweight IEEE802.11 WLAN analyzer with a
text interface. Its basic function is similar to tcpdump,
Wireshark or Kismet, but it's much smaller and shows different,
aggregated information which is not easily available from other
tools. It is made for debugging wireless LANs with a focus on
getting a quick overview instead of deep packet inspection and
has special features for Ad-hoc (IBSS) mode and mesh networks.
It can be useful to get a quick overview of what's going on on
all wireless LAN channels and to identify problems"
Usage
[[xtrnaw7@t540p /var/tmp/jwm/src/horst-5.1]$ ./horst -h
Usage: ./horst [options]
General Options: Description (default value)
-v show version
-h Help
-q Quiet, no
output
-D Show lots of
debug output, no UI
-a Always add
virtual monitor interface
-c <file> Config file
(/etc/horst.conf)
-C <chan> Set initial channel
-i <intf> Interface name
(wlan0)
-t <sec> Node timeout in
seconds (60)
-d <ms> Display update
interval in ms (100)
-V view Display view:
history|essid|statistics|spectrum
-b <bytes> Receive buffer
size in bytes (not set)
-M[filename] MAC address to host
name mapping (/tmp/dhcp.leases)
Feature Options:
-s (Poor mans)
Spectrum analyzer mode
-u Upper channel
limit
-N Allow network
connection, server mode (off)
-n <IP> Connect to server
with <IP>, client mode (off)
-p <port> Port number of
server (4444)
-o <filename> Write packet
info into 'filename'
-X[filename] Allow control socket
on 'filename' (/tmp/horst)
-x <command> Send control
command
Filter Options:
Filters are generally 'positive' or 'inclusive' which
means you define
what you want to see, and everything else is getting
filtered out.
If a filter is not set it is inactive and nothing is
filtered.
Most filter options can be specified multiple times
and will be combined
-e <MAC> Source MAC addresses
(xx:xx:xx:xx:xx:xx), up to 9 times
-f <PKT_NAME> Filter packet
types, multiple
-m <MODE> Operating mode:
AP|STA|ADH|PRB|WDS|UNKNOWN, multiple
-B <MAC> BSSID
(xx:xx:xx:xx:xx:xx), only one
[xtrnaw7@t540p /var/tmp/jwm/src/horst-5.1]$
hostscope displays key system metrics of Linux hosts,
such as detailed CPU load, speed and temperature, I/O rates of
network interfaces, I/O rates of disks, and user process summary
information. All metrics are multicast on the LAN, if wanted,
and clients can switch between multiple hosts on the network."
hostscope contains the daemon hostscoped and the user interface
hostscope. Starting hostscope will automatically also start the
daemon hostscoped if it is not already running. To kill the
daemon use hostscope -k.
If hostscope does not start the daemon and prints the error
message
warning: executing /var/tmp/jwm/bin/../sbin/hostscoped returned
256
it's probably because hostscoped can not delete the existing PID
file. In this case stop hostscope using CTRL-C; remove the PID
file /var/tmp/hostscoped.pid manually, and restart hostscope.
This might happen if you started hostscope before with a
different userid.
To monitor multiple hosts hostscope uses multicast. Therefor to
use this feature the port used by hostscope must be enabled in a
running firewall. In the default configuration hostscope uses
the multicast address 224.0.0.75 and the port 6375 for
mulitcasts; to enable this port in the firewall in Fedora for
example the command is:
sudo firewall-cmd --permanent--add-port=6375/udp
Use iperf to test
if multicast is enabled for the port 6375
To test if Multicast is enabled for the port 6375 you
can use iperf:
Test Multicasting on Port 6375:
Session 1:
[root@t540p ~]# iperf -s -u -B 224.0.0.75 -i 1 -p 6375
------------------------------------------------------------
Server listening on UDP port 6375
Binding to local address 224.0.0.75
Joining multicast group 224.0.0.75
Receiving 1470 byte datagrams
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
Session 2:
[xtrnaw7@t540p test]$ iperf -c 224.0.0.75 -u -T 32 -t3 -i 1
-p 6375
------------------------------------------------------------
Client connecting to 224.0.0.75, UDP port 6375
Sending 1470 byte datagrams
Setting multicast TTL to 32
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.164 port 57501 connected with
224.0.0.75 port 6375
[ ID] Interval
Transfer Bandwidth
[ 3] 0.0- 1.0 sec 129 KBytes
1.06 Mbits/sec
[ 3] 1.0- 2.0 sec 128 KBytes
1.05 Mbits/sec
[ 3] 2.0- 3.0 sec 128 KBytes
1.05 Mbits/sec
[ 3] 0.0- 3.0 sec 386 KBytes
1.05 Mbits/sec
[ 3] Sent 269 datagrams
[xtrnaw7@t540p test]$
Now there should be Multicast packets listed also in session
1. If that works, stop iperf in session 2 and start
hostscope. Now you should see the mulitcast packets from
hostscope in session 1.
Note:
Use the hostscope parameter
-L to disable the multicast
feature.
Use the parameter
-p port or -
m a:p to change the
multicast address and or port used by hostscope.
hostscope usage
[JWM session] [root@t540p compile_scripts]#
../bin/hostscope -h
hostscope [option]
Options:
-h : display this
help screen and exit
-k : kill
hostscope's daemon
-L : operate in
local mode (no multicasts)
-l <log> : write log to file <log>
-m <a:p> : set multicast group address and port
(optional) to <a:p>
-p <port> : set multicast group port to <port>
-v <lvl> : set verbose mode to level <lvl>
-V : display
version number and exit
[JWM session] [root@t540p compile_scripts]#
hostscoped usage (if called manually)
[JWM session] [root@t540p compile_scripts]#
../sbin/hostscoped -h
hostscoped [options]
Options:
-h : display this
help screen and exit
-k : kill
hostscope's daemon
-l : operate in
pipe mode
-m <a:p> : set multicast group address and port
(optional) to <a:p>
-p <port> : set multicast group port to <port>
-f : run in
foreground mode - i.e. do not run as a daemon
-d : disable disk
stats gathering
-e : enable
effective uid determination
-u : disable user
process statistics gathering
-i : disable user
process I/O statistics gathering
-n : omit network
statistics
-v <num> : set verbosity to num, where 0=silent
and 5=debugging
-V : display
version number and exit
[JWM session] [root@t540p compile_scripts]#
You can use the script
${JWM_DIR}/scripts/hostscope.sh
to use hostscope outside from JWM / Linux.
hping2 is a "command-line oriented TCP/IP packet
assembler/analyzer".
hping2 usage
xtrnaw7@t61p Thu Oct 31 20:34:13 /var/tmp/jwm/bin $
./hping2 --help
usage: hping host [options]
-h --help show
this help
-v --version show version
-c --count packet count
-i --interval wait (uX for X
microseconds, for example -i u1000)
--fast alias for -i u10000 (10
packets for second)
-n --numeric numeric output
-q --quiet quiet
-I --interface interface name (otherwise
default routing interface)
-V --verbose verbose mode
-D --debug debugging
info
-z --bind bind
ctrl+z to
ttl
(default to dst port)
-Z --unbind unbind ctrl+z
Mode
default mode TCP
-0 --rawip RAW IP
mode
-1 --icmp
ICMP mode
-2
--udp UDP mode
-9 --listen listen mode
IP
-a --spoof spoof
source address
-t
--ttl ttl (default
64)
-N
--id id
(default random)
-W --winid use
win* id byte ordering
-r
--rel relativize
id
field
(to estimate host traffic)
-f --frag
split packets in more frag. (may pass weak acl)
-x --morefrag set more fragments
flag
-y --dontfrag set dont fragment
flag
-g --fragoff set the fragment
offset
-m
--mtu set virtual
mtu, implies --frag if packet size > mtu
-o
--tos type of
service (default 0x00), try --tos help
-G --rroute includes
RECORD_ROUTE option and display the route buffer
-H --ipproto set the IP
protocol field, only in RAW IP mode
ICMP
-C --icmptype icmp type (default
echo request)
-K --icmpcode icmp code (default 0)
--icmp-ts
Alias for --icmp --icmptype 13 (ICMP timestamp)
--icmp-addr Alias for
--icmp --icmptype 17 (ICMP address subnet mask)
--icmp-help display
help for others icmp options
UDP/TCP
-s --baseport base source
port
(default random)
-p --destport [+][+]<port>
destination port(default 0) ctrl+z inc/dec
-k --keep
keep still source port
-w
--win winsize
(default 64)
-O --tcpoff set fake
tcp data offset (instead of
tcphdrlen / 4)
-Q --seqnum shows only
tcp sequence number
-b --badcksum (try to) send packets
with a bad IP checksum
many systems will fix the IP checksum sending the packet
so you'll get bad UDP/TCP checksum instead.
-M --setseq set TCP
sequence number
-L --setack set TCP ack
-F
--fin set FIN flag
-S
--syn set SYN flag
-R
--rst set RST flag
-P --push
set PUSH flag
-A
--ack set ACK flag
-U
--urg set URG flag
-X --xmas
set X unused flag (0x40)
-Y --ymas
set Y unused flag (0x80)
--tcpexitcode use last
tcp->th_flags as exit code
--tcp-timestamp enable the TCP timestamp option
to guess the HZ/uptime
Common
-d --data
data
size
(default is 0)
-E --file
data from file
-e --sign
add 'signature'
-j --dump
dump packets in hex
-J --print dump
printable characters
-B --safe
enable 'safe' protocol
-u
--end tell you
when --file reached EOF and prevent rewind
-T --traceroute traceroute
mode
(implies --bind and --ttl 1)
--tr-stop
Exit when receive the first not ICMP in traceroute mode
--tr-keep-ttl Keep the source TTL
fixed, useful to monitor just one hop
--tr-no-rtt
Don't calculate/show RTT information in traceroute mode
htop is a top replacement
htop usage
[xtrnaw7@t15g /var/tmp/jwm/src]$ ../bin/htop --help
htop 3.3.0
(C) 2004-2019 Hisham Muhammad. (C) 2020-2024 htop dev team.
Released under the GNU GPLv2+.
-C
--no-color
Use a monochrome color scheme
-d
--delay=DELAY
Set the delay between updates, in tenths of seconds
-F
--filter=FILTER
Show only the commands matching the given filter
-h
--help
Print this help screen
-H --highlight-changes[=DELAY] Highlight new and old
processes
-M
--no-mouse
Disable the mouse
-n --max-iterations=NUMBER
Exit htop after NUMBER iterations/frame updates
-p
--pid=PID[,PID,PID...]
Show only the given PIDs
--readonly
Disable all system and process changing features
-s
--sort-key=COLUMN
Sort by COLUMN in list view (try --sort-key=help for a list)
-t
--tree
Show the tree view (can be combined with -s)
-u
--user[=USERNAME]
Show only processes for a given user (or $USER)
-U
--no-unicode
Do not use unicode but plain ASCII
-V
--version
Print version info
Press F1 inside htop for online help.
See 'man htop' for more information.
[xtrnaw7@t15g /var/tmp/jwm/src]$
htop screenshots:
use F1 while in htop for the online help:
Known columns in htop are (use F2 while in htop to access the
setup):
View process I/O
"httpry is a tool designed for displaying and logging HTTP traffic. It is not intended to perform analysis itself, but instead to capture, parse and/or log the traffic for later analysis. It can be run in real-time displaying the live traffic on the wire, or as a daemon process that logs to an output file. It is written to be as lightweight and flexible as possible, so that it can be easily adaptable to different applications. It does not display the raw HTTP data transferred, but instead focuses on parsing and displaying the request/response line along with associated header fields."
httpry usage
[xtrnaw7@t540p /var/tmp/jwm/bin]$ ./httpry -h
httpry version 0.1.8 -- HTTP logging and
information retrieval tool
Copyright (c) 2005-2014 Jason Bittel
<jason.bittel@gmail.com>
Usage: httpry [ -dFhpqs ] [-b file ] [ -f format
] [ -i device ] [ -l threshold ]
[ -m methods ] [ -n count ] [ -o file ] [ -P file ] [ -r
file ]
[ -t seconds] [ -u user ] [ 'expression' ]
-b
file write HTTP packets to a
binary dump file
-d
run as daemon
-f format specify
output format string
-F
force output flush
-h
print this help information
-i device listen
on this interface
-l threshold specify a rps threshold
for rate statistics
-m methods specify
request methods to parse
-n count set
number of HTTP packets to parse
-o
file write output to a file
-p
disable promiscuous mode
-P
file use custom PID filename
when running in daemon mode
-q
suppress non-critical output
-r
file read packets from input
file
-s
run in HTTP requests per second mode
-t seconds specify the
display interval for rate statistics
-u
user set process owner
expression specify a
bpf-style capture filter
Additional information can be found at:
http://dumpsterventures.com/jason/httpry
[xtrnaw7@t540p /var/tmp/jwm/bin]$
httpry example
[xtrnaw7@t540p /var/tmp/jwm/src/httpry-master]$ sudo
./httpry
httpry version 0.1.8 -- HTTP logging and
information retrieval tool
Copyright (c) 2005-2014 Jason Bittel
<jason.bittel@gmail.com>
Starting capture on enp0s25 interface
2018-09-21 13:03:24.564
192.168.1.164
184.168.188.1 >
GET www.brendangregg.com
/linuxperf.html HTTP/1.1
- -
2018-09-21 13:03:24.724
184.168.188.1
192.168.1.164 <
- - -
HTTP/1.1 200 OK
2018-09-21 13:03:24.893
192.168.1.164
184.168.188.1 >
GET www.brendangregg.com
/page.css HTTP/1.1
- -
2018-09-21 13:03:25.061
184.168.188.1
192.168.1.164 <
- - -
HTTP/1.1 200 OK
2018-09-21 13:03:25.075
192.168.1.164
184.168.188.1 >
GET www.brendangregg.com
/Perf/linux_perf_tools_full_1000.jpg
HTTP/1.1 - -
2018-09-21 13:03:25.076
192.168.1.164
184.168.188.1 >
GET www.brendangregg.com
/Perf/linux_observability_tools.png
HTTP/1.1 - -
2018-09-21 13:03:25.077
192.168.1.164
184.168.188.1 >
GET www.brendangregg.com
/Perf/linux_static_tools_333.png
HTTP/1.1 - -
2018-09-21 13:03:25.077
192.168.1.164
184.168.188.1 >
GET www.brendangregg.com
/Perf/linux_benchmarking_tools_333.png
HTTP/1.1 - -
2018-09-21 13:03:25.078
192.168.1.164
184.168.188.1 >
GET www.brendangregg.com
/Perf/linux_tuning_tools_333.png
HTTP/1.1 - -
2018-09-21 13:03:25.078
192.168.1.164
184.168.188.1 >
GET www.brendangregg.com
/Perf/linux_observability_sar_333.png
HTTP/1.1 - -
2018-09-21 13:03:25.245
184.168.188.1
192.168.1.164 <
- - -
HTTP/1.1 304 Not
Modified
2018-09-21 13:03:25.245
192.168.1.164
184.168.188.1 >
GET www.brendangregg.com
/Perf/perf-tools_2016_333.png
HTTP/1.1 - -
2018-09-21 13:03:25.246
184.168.188.1
192.168.1.164 <
- - -
HTTP/1.1 304 Not
Modified
2018-09-21 13:03:25.246
192.168.1.164
184.168.188.1 >
GET www.brendangregg.com
/Perf/bcc_tracing_tools_2016_333.png
HTTP/1.1 - -
2018-09-21 13:03:25.249
184.168.188.1
192.168.1.164 <
- - -
HTTP/1.1 304 Not
Modified
2018-09-21 13:03:25.251
184.168.188.1
192.168.1.164 <
- - -
HTTP/1.1 304 Not
Modified
2018-09-21 13:03:25.252
184.168.188.1
192.168.1.164 <
- - -
HTTP/1.1 304 Not
Modified
2018-09-21 13:03:25.253
184.168.188.1
192.168.1.164 <
- - -
HTTP/1.1 304 Not
Modified
2018-09-21 13:03:25.402
184.168.188.1
192.168.1.164 <
- - -
HTTP/1.1 304 Not
Modified
2018-09-21 13:03:25.418
184.168.188.1
192.168.1.164 <
- - -
HTTP/1.1 304 Not
Modified
^CCaught SIGINT, shutting down...
129 packets received, 0 packets dropped, 20 http
packets parsed
368.6 packets/min, 57.1 http packets/min
[xtrnaw7@t540p /var/tmp/jwm/src/httpry-master]$
"
ibmonitor is an interactive linux console application
which shows bandwidth consumed and total data transferred on all
interfaces.
Its main features are:
- Shows received, transmitted and total bandwidth of each
interface
- Calculates and displays the combined value of all
interfaces
- Displays total data transferred per interface in KB/MB/GB
- Values can be displayed in Kbits/sec(Kbps) and/or
KBytes/sec(KBps)
- Can show maximum bandwidth consumed on each interface
since start of utility
- Can show average bandwidth consumption on each interface
since start of utility
- The output with all features (max, avg and display in Kbps
and KBps) easily fits on a 80x24 console or xterm
- Can interactively change its output display format
depending on key pressed by user."
ibmonitor usage
[xtrnaw7@t540p /data/download/ibmonitor]$ ./ibmonitor -h
ibmonitor version 1.4
usage: ibmonitor [--bits] [--bytes] [--max] [--avg]
[--data] [--interval
n] [--colors | --nocolors]
[--dev regex] [--file
proc] [--help] [--version]
The following command line options (and their explanation)
are available:
--bits -> Show output
values in KBits/sec. This is the default.
--bytes -> Show output
values in KBytes/sec
--max -> Show
maximum values per interface
--avg -> Show
average values per interface
--interval n -> Set time interval as n seconds. The
default is 2 seconds.
--data -> Show data
transferred in KB/MB/GB
--colors -> Show some fancy
coloring! (This is the default)
--nocolors -> No fancy coloring please!
--dev regex -> Show output from device which
matches regex
--file proc -> Specify which file to use in the
proc filesystem
for the interface byte counter
--help -> Show help
and exit
--version -> Show version number and
exit
While the program is running, the following keys
are recognized, which enables the user to change the output
display
format of the program.
Note: ibmonitor responds directly to the single keystroke
ie. the 'Enter' key need not
be pressed
q -> [q]uit
1-9 -> Set sleep time interval(in seconds) to the
digit entered
m -> Toggle display of [m]ax bandwidth
a -> Toggle display of [a]verage
bandwidth
i -> Toggle display of values in
KB[i]ts/sec (Kbps)
y -> Toggle display of values in
KB[y]tes/sec (KBps)
d -> Toggle display of [d]ata
transferred
s -> Shift interface up/down.
This should be
followed by the interface number,
and then the
direction (u or d)
r -> [r]eset all values
?/h -> help screen for interactive commands
iftop is a top like tool to monitor the network
bandwidth.
iftop usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ iftop -h
iftop: display bandwidth usage on an interface by host
Synopsis: iftop -h | [-npblNBP] [-i interface] [-f filter
code]
[-F net/mask] [-G net6/mask6]
-h
display this message
-n
don't do hostname lookups
-N
don't convert port numbers to services
-p
run in promiscuous mode (show traffic between other
hosts on the same network segment)
-b
don't display a bar graph of traffic
-B
Display bandwidth in bytes
-i
interface listen
on named interface
-f filter code
use filter code to select packets to count
(default: none, but only IP packets are counted)
-F
net/mask
show traffic flows in/out of IPv4 network
-G
net6/mask6 show traffic
flows in/out of IPv6 network
-l
display and count link-local IPv6 traffic (default: off)
-P
show ports as well as hosts
-m
limit
sets the upper limit for the bandwidth scale
-c config file
specifies an alternative configuration file
-t
use text interface without ncurses
Sorting orders:
-o
2s
Sort by first column (2s traffic average)
-o
10s
Sort by second column (10s traffic average) [default]
-o
40s
Sort by third column (40s traffic average)
-o
source
Sort by source address
-o
destination Sort by
destination address
The following options are only available in
combination with -t
-s
num
print one single text output afer num seconds, then quit
-L
num
number of lines to print
iftop, version 1.0pre4
copyright (c) 2002 Paul Warren <pdw@ex-parrot.com> and
contributors
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
inxi is a shell script to show the hardware and software
configuration of a machine.
inxi Usage
[xtrnaw7@t15g /var/tmp/jwm]$ ./scripts/inxi -V
Error 23: The option: -V has been deprecated. Please use
--version/--vf instead.
inxi 3.3.33-00 (2024-02-06)
Copyright (C) 2008-2024 Harald Hope aka h2
Forked from Infobash 3.02:
Copyright (C) 2005-2007 Michiel de Boer aka locsmif.
Using Perl version: 5.038002
Program Location: /var/tmp/jwm/scripts
Website: https://codeberg.org/smxi/inxi or https://smxi.org/
IRC: irc.oftc.net channel: #smxi
Forums: https://techpatterns.com/forums/forum-33.html
This program is free software; you can redistribute it
and/or modify it under
the terms of the GNU General Public License as published by
the Free Software
Foundation; either version 3 of the License, or (at your
option) any later
version. (https://www.gnu.org/licenses/gpl.html)
[xtrnaw7@t15g /var/tmp/jwm]$
[xtrnaw7@t15g /var/tmp/jwm]$ ./scripts/inxi -h
inxi supports the following options. For more detailed
information, see
man inxi. If you start inxi with no arguments, it will
display a short system
summary.
You can use these options alone or together, to show or add
the item(s) you
want to see: A, B, C, d, D, E, f, G, i, I, j, J, l, L, m, M,
n, N, o, p, P, r,
R, s, S, t, u, w, --edid, --mm, --ms, --slots. If you use
them with -v
[level], -b or -F, inxi will add the requested lines to the
output.
Examples: inxi -v4 -c6 OR inxi -bDc 6 OR inxi -FzjJxy 80
------------------------------------------------------------------------------
See Filter Options for output filtering, Output Control
Options for colors,
sizing, output changes, Extra Data Options to extend Main
output, Additional
Options and Advanced Options for less common situations.
------------------------------------------------------------------------------
Main Feature Options:
-A, --audio Audio/sound devices(s),
driver; active sound APIs and servers.
-b, --basic Basic output, short form. Same
as inxi -v 2.
-B, --battery System battery info, including charge,
condition voltage (if
critical), plus extra info (if battery present/detected).
-C, --cpu CPU output (if each
item available): basic topology, model,
type (see man for types), cache, average CPU speed, min/max
speeds, per core clock speeds.
-d, --disk-full, --optical
Optical drive data (and floppy disks, if present). Triggers
-D.
-D, --disk Hard Disk info, including
total storage and details for each
disk. Disk total used percentage includes swap partition
size(s).
-E, --bluetooth
Show bluetooth device data and report, if available. Shows
state, address, IDs, version info.
--edid Full
graphics data, triggers -a, -G. Add monitor chroma, full
modelines (if > 2), EDID errors and warnings, if present.
-f, --flags All CPU flags. Triggers -C.
Not shown with -F to avoid
spamming.
-F, --full Full output. Includes all
Upper Case line letters (except -J,
-W) plus --swap, -s and -n. Does not show extra verbose
options
such as -d -f -i -J -l -m -o -p -r -t -u -x, unless
specified.
-G, --graphics
Graphics info (devices(s), drivers, display protocol (if
available), display server/Wayland compositor, resolution,
X.org: renderer, basic EGL, OpenGL, Vulkan API data; Xvesa
API:
VBE info.
-i, --ip WAN IP address
and local interfaces (requires ifconfig or ip
network tool). Triggers -n. Not shown with -F for user
security
reasons. You shouldn't paste your local/WAN IP.
--ip-limit, --limit
[-1; 1-x] Set max output limit of IP addresses for -i
(default
10; -1 removes limit).
-I, --info General info, including
processes, uptime, memory (if -m/-tm
not used), IRC client or shell type, inxi version.
-j, --swap Swap in use. Includes
partitions, zram, file.
-J, --usb Show USB data: Hubs
and Devices.
-l, --label Partition labels. Use with -j,
-o, -p, -P.
-L, --logical Logical devices, LVM (VG, LV), LUKS,
Crypto, bcache, etc. Shows
components/devices, sizes, etc.
-m, --memory Memory (RAM) data. Numbers of
devices (slots) supported and
individual memory devices (sticks of memory etc). For
devices,
shows device locator, type (e.g. DDR3), size, speed. Also
shows
System RAM report, and removes Memory report from -I or -tm.
--memory-modules,--mm
Memory (RAM) data. Exclude empty module slots.
--memory-short,--ms
Memory (RAM) data. Show only short Memory RAM report, number
of
arrays, slots, modules, and RAM type.
-M, --machine Machine data. Device type (desktop,
server, laptop, VM etc.),
motherboard, BIOS and, if present, system builder (e.g.
Lenovo). Shows UEFI/BIOS/UEFI [Legacy]. Older
systems/kernels
without the required /sys data can use dmidecode instead,
run
as root. Dmidecode can be forced with --dmidecode
-n, --network-advanced
Advanced Network device info. Triggers -N. Shows interface,
speed, MAC id, state, etc.
-N, --network Network device(s), driver.
-o, --unmounted
Unmounted partition info (includes UUID and Label if
available). Shows file system type if you have lsblk
installed
(Linux) or, for BSD/GNU Linux, if 'file' installed and you
are
root or if you have added to /etc/sudoers (sudo v. 1.7 or
newer)(or try doas).
Example: <username> ALL = NOPASSWD:
/usr/bin/file
-p, --partitions-full
Full partition information (-P plus all other detected
partitions).
--partitions-sort, --ps
[dev-base|fs|id|label|percent-used|size|uuid|used] Change
sort
order of partition output. See man page for specifics.
-P, --partitions
Basic partition info. Shows, if detected: / /boot /home /opt
/tmp /usr /usr/home /var /var/log /var/tmp. Swap partitions
show if --swap is not used. Use -p to see all mounted
partitions.
-r, --repos Distro repository data.
Supported repo types: APK, APT, CARDS,
EOPKG, NETPKG, NIX, PACMAN, PACMAN-G2, PISI, PKG (BSDs),
PORTAGE, PORTS (BSDs), SBOPKG, SBOUI, SCRATCHPKG, SLACKPKG,
SLAPT_GET, SLPKG, TCE, TAZPKG, URPMQ, XBPS, YUM/ZYPP.
-R, --raid RAID data. Shows RAID
devices, states, levels, array sizes, and
components. md-raid: If device is resyncing, also shows
resync
progress line.
-s, --sensors Sensors output (if sensors
installed/configured): mobo/CPU/GPU
temp; detected fan speeds. Nvidia shows screen number for
> 1
screen. IPMI sensors if present.
--slots PCI slots:
type, speed, status. Requires root.
-S, --system System info: host name, kernel,
desktop environment (if in
X/Wayland), distro.
-t, --processes
Processes. Requires extra options: c (CPU), m (memory), cm
(CPU+memory). If followed by numbers 1-x, shows that number
of
processes for each type (default: 5; if in IRC, max: 5).
Make sure that there is no space between letters and numbers
(e.g. -t cm10).
-u, --uuid Partition, system board
UUIDs. Use with -j, -M, -o, -p, -P.
-v, --verbosity
Set inxi verbosity level (0-8). Should not be used with -b
or
-F. Example: inxi -v 4
0 Same as: inxi
1 Basic verbose, -S + basic CPU + -G + basic Disk +
-I.
2 Networking device (-N), Machine (-M), Battery (-B;
if
present), and, if present, basic RAID (devices only;
notes if inactive). Same as inxi -b
3 Advanced CPU (-C), battery (-B), network (-n);
triggers
-x.
4 Partition size/used data (-P) for (if present) /,
/home,
/var/, /boot. Shows full disk data (-D).
5 Audio device (-A), sensors (-s), memory/RAM (-m),
bluetooth (if present), partition label (-l), full swap
(-j), UUID (-u), short form of optical drives, RAID data
(if present).
6 Full partition (-p), unmounted partition (-o),
optical
drive (-d), USB (-J), full RAID; triggers -xx.
7 Network IP data (-i), bluetooth, logical (-L), RAID
forced, full CPU flags; triggers -xxx.
8 Everything available, including advanced gpu EDID
(--edid) data, repos (-r), processes (-tcm), PCI slots
(--slots); triggers admin (-a).
-w, --weather NO AUTOMATED QUERIES OR EXCESSIVE USE
ALLOWED!
Without [location]: Your current local (local to your IP
address) weather data/time.Example: inxi -w
With [location]: Supported location options are: postal
code[,country/country code]; city, state (USA)/country
(country/two character country code); latitude, longitude.
Only
use if you want the weather somewhere other than the machine
running inxi. Use only ASCII characters, replace spaces in
city/state/country names with '+'.
Example: inxi -w [new+york,ny london,gb madrid,es]
--weather-source,--ws
[1-9] Change weather data source. 1-4 generally active, 5-9
check. See man.
--weather-unit,--wu
Set weather units to metric (m), imperial (i),
metric/imperial
(mi), or imperial/metric (im).
------------------------------------------------------------------------------
Filter Options:
--host Turn on
hostname for -S. Overrides -z.
--no-host Turn off hostname for -S.
Useful if showing output from servers
etc. Activated by -z as well.
-z, --filter Adds security filters for IP/MAC
addresses, serial numbers,
location (-w), user home directory name, host name. Default
on
for IRC clients.
--za,--filter-all
Shortcut, triggers -z, --zl, --zu, --zv.
--zl,--filter-label
Filters out partition labels in -j, -o, -p, -P, -Sa.
--zu,--filter-uuid
Filters out partition UUIDs in -j, -o, -p, -P, -Sa, board
UUIDs
in -Mxxx.
--zv,--filter-vulnerabilities
Filters out Vulnerabilities report in -Ca.
-Z, --no-filter
Disable output filters. Useful for debugging networking
issues
in IRC, or you needed to use --tty, for example.
------------------------------------------------------------------------------
Output Control Options:
-c, --color Set color scheme (0-42). For
piped or redirected output, you
must use an explicit color selector. Example: inxi -c 11
Color selectors let you set the config file value for the
selection (NOTE: IRC and global only show safe color set)
94 Console, out of X
95 Terminal, running in X - like xTerm
96 Gui IRC, running in X - like Xchat, Quassel,
Konversation etc.
97 Console IRC running in X - like irssi in xTerm
98 Console IRC not in X
99 Global - Overrides/removes all settings. Setting
specific removes global.
--indent [11-20] Change
default wide mode primary indentation width.
--indents [0-10] Change wrapped
mode primary indentation width, and
secondary / -y1 indent widths.
--max-wrap,--wrap-max
[70-xxx] Set maximum width where inxi autowraps line
starters.
Current: 110
--output [json|screen|xml]
Change data output type. Requires
--output-file if not screen.
--output-file
[Full filepath|print] Output file to be used for --output.
--separator, --sep
[key:value separator character]. Change separator
character(s)
for key: value pairs.
-y, --width [empty|-1|1|60-xxx] Output
line width max. Overrides
IRC/Terminal settings or actual widths. If no integer give,
defaults to 80. -1 removes line lengths. 1 switches output
to 1
key/value pair per line. Example: inxi -y 130
-Y, --height [empty|-3-xxx] Output height
control. Similar to 'less' command
except colors preserved, defaults to console/terminal
height.
-1 shows 1 primary Item: at a time; -2 retains color on
redirect/piping (to less -R); -3 removes configuration
value; 0
or -Y sets to detected terminal height. Greater than 0 shows
x
lines at a time.
------------------------------------------------------------------------------
Extra Data Options:
-x, --extra Adds the following extra data
(only works with verbose or line
output, not short form):
-A Specific vendor/product information (if relevant);
PCI/USB ID of device; Version/port(s)/driver version (if
available); inactive sound servers/APIs.
-B Current/minimum voltage, vendor/model, status (if
available); attached devices (e.g. wireless mouse,
keyboard, if present).
-C L1/L3 cache (if most Linux, or if root and
dmidecode
installed); smt if disabled, CPU flags (short list, use
-f to see full list); Highest core speed (if > 1 core);
CPU boost (turbo) enabled/disabled, if present; Bogomips
on CPU; CPU microarchitecture + revision (if found, or
unless --admin, then shows as 'stepping').
-d Extra optical drive features data; adds rev version
to
optical drive.
-D HDD temp with disk data. Kernels >= 5.6: enable
module
drivetemp if not enabled. Older systems require hddtemp,
run as as superuser, or as user if you have added
hddtemp to /etc/sudoers (sudo v. 1.7 or newer)(or try
doas).
Example: <username> ALL = NOPASSWD: /usr/sbin/hddtemp
-E PCI/USB Bus ID of device, driver version, LMP
version.
-G GPU arch (AMD/Intel/Nvidia only); Specific
vendor/product information (if relevant); PCI/USB ID of
device; Screen number GPU is running on (Nvidia only);
device temp (Linux, if found); APIs: EGL:
active/inactive platforms; OpenGL: direct rendering
status (in X); Vulkan device counts.
-i For IPv6, show additional scope addresses: Global,
Site,
Temporary, Unknown. See --limit for large counts of IP
addresses.
-I Default system compilers. With -xx, also shows
other
installed compiler versions. If running in shell, not in
IRC client, shows shell version number, if detected.
Init/RC type and runlevel/target (if available). Total
count of all packages discovered in system (if not -r).
-j Add mapped: name if partition mapped.
-J For Device: driver; Si speed (base 10, bits/s).
-L For VG > LV, and other Devices, dm:
-m,--mm Max memory module size (if available).
-N Specific vendor/product information (if relevant);
PCI/USB ID of device; Version/port(s)/driver version (if
available); device temperature (Linux, if found).
-o,-p,-P Add mapped: name if partition mapped.
-r Packages, see -Ix.
-R md-raid: second RAID Info line with extra data:
blocks,
chunk size, bitmap (if present). Resync line, shows
blocks synced/total blocks. Hardware RAID driver
version, bus-ID.
-s Basic voltages (ipmi, lm-sensors if present): 12v,
5v,
3.3v, vbat.
-S Kernel gcc version; system base of distro (if
relevant
and detected)
--slots
Adds BusID for slot.
-t Adds memory use output to CPU (-xt c), and CPU use
to
memory (-xt m).
-w Wind speed and direction, humidity, pressure, and
time
zone, if available.
-xx, --extra 2 Show extra, extra data (only works with
verbose or line output,
not short form):
-A Chip vendor:product ID for each audio device; PCIe
speed, lanes (if found); USB rev, speed, lanes (if
found); sound server/api helper daemons/plugins.
-B Power used, in watts; serial number.
-D Disk transfer speed; NVMe lanes; USB rev, speed,
lanes
(if found); Disk serial number; LVM volume group free
space (if available); disk duid (some BSDs).
-E Chip vendor:product ID, LMP subversion; PCIe speed,
lanes (if found); USB rev, speed, lanes (if found).
-G Chip vendor:product ID for each video device;
Output
ports, used and empty; PCIe speed, lanes (if found); USB
rev, speed, lanes (if found); Xorg: Xorg compositor;
alternate Xorg drivers (if available. Alternate means
driver is on automatic driver check list of Xorg for the
device vendor, but is not installed on system); Xorg
Screen data: ID, s-res, dpi; Monitors: ID, position (if
> 1), resolution, dpi, model, diagonal; APIs: EGL: per
platform report; OpenGL: ES version, device-ID,
display-ID (if not found in Display line); Vulkan: per
device report.
-I Adds Power: with children uptime, wakeups (from
suspend); other detected installed gcc versions (if
present). System default target/runlevel. Adds parent
program (or pty/tty) for shell info if not in IRC. Adds
Init version number, RC (if found). Adds per package
manager installed package counts (if not -r).
-j,-p,-P Swap priority.
-J Vendor:chip-ID; lanes (Linux only).
-L Show internal LVM volumes, like raid image/meta
volumes;
for LVM RAID, adds RAID report line (if not -R); show
all components > devices, number of 'c' or 'p' indicate
depth of device.
-m,--mm Manufacturer, part number; single/double bank
(if
found); memory array voltage (legacy, rare); module
voltage (if available).
-M Chassis info, part number, BIOS ROM size (dmidecode
only), if available.
-N Chip vendor:product ID; PCIe speed, lanes (if
found);
USB rev, speed, lanes (if found).
-r Packages, see -Ixx.
-R md-raid: Superblock (if present), algorithm. If
resync,
shows progress bar. Hardware RAID Chip vendor:product
ID.
-s DIMM/SOC voltages (ipmi only).
-S Desktop toolkit (tk), if available (only some DE/wm
supported); window manager (wm); display/Login manager
(dm,lm) (e.g. kdm, gdm3, lightdm, greetd, seatd).
--slots Slot length; slot voltage, if available.
-w Snow, rain, precipitation, (last observed hour),
cloud
cover, wind chill, dew point, heat index, if available.
-xxx, --extra 3
Show extra, extra, extra data (only works with verbose or
line
output, not short form):
-A Serial number, class ID.
-B Chemistry, cycles, location (if available).
-C CPU voltage, external clock speed (if root and
dmidecode
installed); smt status, if available.
-D Firmware rev. if available; partition scheme, in
some
cases; disk type, rotation rpm (if available).
-E Serial number, class ID, bluetooth device class ID,
HCI
version and revision.
-G Device serial number, class ID; Xorg Screen size,
diag;
Monitors: hz, size, modes, serial, scale, modes
(max/min); APIs: EGL: hardware driver info; Vulkan:
layer count, device hardware vendor.
-I For Power:, adds states, suspend/hibernate active
type;
For 'Shell:' adds ([doas|su|sudo|login]) to shell name
if present; adds default shell+version if different; for
'running in:' adds (SSH) if SSH session.
-J If present: Devices: serial number, interface
count, max
power.
-m,--mm Width of memory bus, data and total (if
present and
greater than data); Detail for Type, if present; module
current, min, max voltages (if present and different
from each other); serial number.
-M Board/Chassis UUID, if available.
-N Serial number, class ID.
-R zfs-raid: portion allocated (used) by RAID
devices/arrays. md-raid: system md-raid support types
(kernel support, read ahead, RAID events). Hardware RAID
rev, ports, specific vendor/product information.
-S Kernel clocksource; if in non console wm/desktop;
window
manager version number; if available:
panel/tray/bar/dock (with:); screensavers/lockers
running (tools:); virtual terminal number; display/login
manager version number.
-w Location (uses -z/irc filter), weather observation
time,
altitude, sunrise/sunset, if available.
-a, --admin Adds advanced sys admin data
(only works with verbose or line
output, not short form); check man page for explanations!;
also
sets --extra=3:
-A If available: list of alternate kernel
modules/drivers
for device(s); PCIe lanes-max: gen, speed, lanes (if
relevant); USB mode (if found); list of installed tools
for servers.
-C If available: microarchitecture level (64 bit
AMD/Intel
only).CPU generation, process node, built years; CPU
socket type, base/boost speeds (dmidecode+root/sudo/doas
required); Full topology line, with cores, threads,
threads per core, granular cache data, smt status; CPU
vulnerabilities (bugs); family, model-id, stepping -
format: hex (decimal) if greater than 9; microcode
format: hex.
-d,-D If available: logical and physical block sizes;
drive
family; maj:min; USB mode (if found); USB drive
specifics; SMART report.
-E PCIe lanes-max: gen, speed, lanes (if relevant);
USB
mode (if found); If available: in Report:, adds status:
discoverable, pairing; adds Info: line: acl-mtu,
sco-mtu, link-policy, link-mode, service-classes.
-G GPU process node, built year (AMD/Intel/Nvidia
only);
non-free driver info (Nvidia only); PCIe lanes-max: gen,
speed, lanes (if relevant); USB mode (if found); list of
alternate kernel modules/drivers for device(s) (if
available); Monitor built year, gamma, screen ratio (if
available); APIs: OpenGL: device memory, unified memory
status; Vulkan: adds full device report, device name,
driver version, surfaces.
-I Adds to Power suspend/hibernate available non
active
states, hibernate image size, suspend failed totals (if
not 0), active power services; Packages total number of
lib files found for each package manager and pm tools
(if not -r); adds init service tool.
-j,-p,-P For swap (if available): swappiness and vfs
cache
pressure, and if values are default or not.
-j Linux only: (if available): row one zswap data, and
per
zram row, active and available zram compressions, max
compression streams.
-J Adds USB mode (Linux only); IEC speed (base 2,
Bytes/s).
-L LV, Crypto, devices, components: add maj:min; show
full
device/components report (speed, mapped names).
-m Show full volts report, current, min, max, even if
identical; show firmware version (if available).
-n,-i Info: services: line, with running network
services.
-n,-N,-i If available: list of alternate kernel
modules/drivers
for device(s); PCIe lanes-max: gen, speed, lanes (if
relevant); USB mode (if found).
-o If available: maj:min of device.
-p,-P If available: raw size of partitions, maj:min,
percent
available for user, block size of file system (root
required).
-r Packages, see -Ia.
-R mdraid: device maj:min; per component: size,
maj:min,
state.
-S If available: kernel alternate clocksources, boot
parameters; de extra data (info: eg kde frameworks);
screensaver/locker tools available but not active
(avail:).
--slots If available: slot bus ID children.
------------------------------------------------------------------------------
Additional Options:
--config, --configuration
Show active configurations, by file(s). Last item listed
overrides previous.
-h, --help This help menu.
--recommends
Checks inxi application dependencies + recommends, and
directories, then shows what package(s) you need to install
to
add support for that feature.
-U, --update Auto-update inxi. Will also
install/update man page. Note: if
you installed as root, you must be root to update, otherwise
user is fine. Man page installs require root. No arguments
downloads from main inxi git repo.
Use alternate sources for updating inxi
3 Get the dev server (smxi.org) version.
4 Get the dev server (smxi.org) FTP version. Use if
SSL
issues and --no-ssl doesn't work.
[http|https|ftp] Get a version of
inxi from your own server. Use the full
download path, e.g. inxi -U https://myserver.com/inxi
--version, --vf
Prints full inxi version info then exits.
--version-short,--vs
Prints 1 line inxi version info. Can be used with other line
options.
------------------------------------------------------------------------------
Advanced Options:
--alt
Trigger for various advanced options:
40 Bypass Perl as a downloader option.
41 Bypass Curl as a downloader option.
42 Bypass Fetch as a downloader option.
43 Bypass Wget as a downloader option.
44 Bypass Curl, Fetch, and Wget as downloader options.
Forces Perl if HTTP::Tiny present.
--bt-tool [bt-adapter btmgmt
hciconfig rfkill] Force use of given tool
forbluetooth report. Or use --force [tool].
--dig
Overrides configuration item NO_DIG (resets to default).
--display [:[0-9]] Try to get
display data out of X (default: display 0).
--dmidecode
Force use of dmidecode data instead of /sys where relevant
(e.g. -M, -B).
--downloader
Force inxi to use [curl fetch perl wget] for downloads.
--force [bt-adapter
btmgmt dmidecode hciconfig hddtemp ip ifconfig
lsusb meminfo rfkill usb-sys vmstat wmctrl]. 1 or more in
comma
separated list. Force use of item(s). See --hddtemp,
--dmidecode, --wm, --usb-tool, --usb-sys.
--hddtemp Force use of hddtemp for
disk temps.
--html-wan
Overrides configuration item NO_HTML_WAN (resets to
default).
--ifconfig
Force use of ifconfig for IF with -i.
--man
Install correct man version for dev branch (-U 3) or pinxi
using -U.
--no-dig Skip dig for WAN IP
checks, use downloader program.
--no-doas Skip internal program use
of doas features (not related to
starting inxi with doas).
--no-html-wan
Skip HTML IP sources for WAN IP checks, use dig only, or
nothing if --no-dig.
--no-man Disable man install
for all -U update actions.
--no-ssl Skip SSL certificate
checks for all downloader actions
(Wget/Fetch/Curl/Perl-HTTP::Tiny).
--no-sudo Skip internal program use
of sudo features (not related to
starting inxi with sudo).
--rpm Force
use of disabled package manager counts for packages
feature with -rx/-Ix. RPM disabled by default due to slow to
massive rpm package query times.
--sensors-default
Removes configuration item SENSORS_USE and SENSORS_EXCLUDE.
Same as default behavior.
--sensors-exclude
[sensor[s] name, comma separated] Exclude supplied sensor
array[s] for -s output (lm-sensors, /sys. Linux only).
--sensors-use
[sensor[s] name, comma separated] Use only supplied sensor
array[s] for -s output (lm-sensors, /sys. Linux only).
--sleep [0-x.x] Change
CPU sleep time, in seconds, for -C
(default: 0.35). Allows system to catch up and show a more
accurate CPU use. Example: inxi -Cxxx --sleep 0.15
--tty
Forces irc flag to false. Generally useful if inxi is
running
inside of another tool like Chef or MOTD and returns
corrupted
color codes. Please see man page or file an issue if you
need
to use this flag. Must use -y [width] option if you want a
specific output width. Always put this option first in an
option list. See -Z for disabling output filters as well.
--usb-sys Force USB data to use
only /sys as data source (Linux only).
--usb-tool
Force USB data to use lsusb as data source [default] (Linux
only).
--wan-ip-url
[URL] Skips dig, uses supplied URL for WAN IP (-i). URL
output
must end in the IP address. See man.
Example: inxi -i --wan-ip-url https://yoursite.com/remote-ip
--wm
Force wm: to use wmctrl as data source. Default uses ps.
------------------------------------------------------------------------------
Debugging Options:
--dbg
[1-xx[,1-xx]] Comma separated list of debugger numbers. Each
triggers specific debugger[s]. See man page or docs.
1 Show downloader output. Turns off quiet mode.
--debug
[1-3|10|11|20-22] Triggers debugging modes.
1-3 On screen debugger output.
10 Basic logging.
11 Full file/system info logging.
The following create a tar.gz file of system data, plus inxi
output. To automatically upload debugger data tar.gz file to
ftp.smxi.org: inxi --debug 21
20 Full system data collection: /sys; xorg conf and
log
data, xrandr, xprop, xdpyinfo, glxinfo etc.; data from
dev, disks, partitions, etc.
21 Upload debugger dataset to inxi debugger server
automatically, removes debugger data directory, leaves
tar.gz debugger file.
22 Upload debugger dataset to inxi debugger server
automatically, removes debugger data directory and
debugger tar.gz file.
--debug-id
[short-string] Add given string to debugger file name. Helps
identify source of debugger dataset. Use with --debug 20-22.
--debug-proc
Force debugger parsing of /proc as sudo/doas/root.
--debug-proc-print
To locate file that /proc debugger hangs on.
--debug-no-exit
Skip exit on error to allow completion.
--debug-no-proc
Skip /proc debugging in case of a hang.
--debug-no-sys
Skip /sys debugging in case of a hang.
--debug-sys
Force PowerPC debugger parsing of /sys as sudo/doas/root.
--debug-sys-print
To locate file that /sys debugger hangs on.
--ftp Use
with --debugger 21 to trigger an alternate FTP server for
upload. Format: [ftp.xx.xx/yy]. Must include a remote
directory
to upload to.
Example: inxi --debug 21 --ftp ftp.myserver.com/incoming
------------------------------------------------------------------------------
[xtrnaw7@t15g /var/tmp/jwm]$
inxi example
[xtrnaw7@t15g /var/tmp/jwm]$ ./scripts/inxi -Fx
-c0
System:
Host: t15g.isbs.de Kernel: 6.6.14-200.fc39.x86_64
arch: x86_64 bits: 64
compiler: gcc v: 2.40-13.fc39
Desktop: MATE v: 1.26.2 Distro: Fedora Linux 39
(MATE-Compiz)
Machine:
Type: Laptop System: LENOVO product: 20YSCTO1WW v:
ThinkPad T15g Gen 2i
serial: <superuser required>
Mobo: LENOVO model: 20YSCTO1WW serial: <superuser
required> UEFI: LENOVO
v: N37ET42W (1.23 ) date: 08/31/2022
Battery:
ID-1: BAT0 charge: 94.0 Wh (100.0%) condition:
94.0/94.0 Wh (100.0%)
volts: 12.2 min: 11.5 model: Celxpert
5B10W13959 status: full
CPU:
Info: 8-core model: 11th Gen Intel Core i7-11850H
bits: 64 type: MT MCP
arch: Tiger Lake rev: 1 cache: L1: 640
KiB L2: 10 MiB L3: 24 MiB
Speed (MHz): avg: 2084 high: 4779 min/max: 800/4800
cores: 1: 1001 2: 2016
3: 801 4: 1857 5: 801 6: 801 7: 4375 8:
1092 9: 799 10: 801 11: 3065
12: 4779 13: 2067 14: 2029 15: 2974 16:
4101 bogomips: 79872
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1
sse4_2 ssse3 vmx
Graphics:
Device-1: Intel TigerLake-H GT1 [UHD Graphics]
vendor: Lenovo driver: i915
v: kernel arch: Gen-12.1 bus-ID: 00:02.0
Device-2: NVIDIA GA104M [GeForce RTX 3070 Mobile /
Max-Q] vendor: Lenovo
driver: nvidia v: 545.29.06 arch: Ampere
bus-ID: 01:00.0
Device-3: Bison Integrated Camera driver: uvcvideo
type: USB bus-ID: 3-4:3
Display: x11 server: X.Org v: 1.20.14 with: Xwayland
v: 23.2.4 driver: X:
loaded: modesetting,nvidia unloaded:
fbdev,nouveau,vesa dri: iris
gpu: i915,nvidia,nvidia-nvswitch
resolution: 1: 2560x1440~60Hz
2: 3840x2160~60Hz
API: OpenGL v: 4.6 vendor: intel mesa v: 23.3.5
glx-v: 1.4
direct-render: yes renderer: Mesa Intel
UHD Graphics (TGL GT1)
API: Vulkan v: 1.3.268 drivers: intel,nvidia,llvmpipe
surfaces: xcb,xlib
devices: 3
API: EGL Message: EGL data requires eglinfo. Check
--recommends.
Audio:
Device-1: Intel Tiger Lake-H HD Audio vendor: Lenovo
driver: sof-audio-pci-intel-tgl bus-ID:
00:1f.3
Device-2: NVIDIA GA104 High Definition Audio vendor:
Lenovo
driver: snd_hda_intel v: kernel bus-ID:
01:00.1
API: ALSA v: k6.6.14-200.fc39.x86_64 status:
kernel-api
Server-1: PipeWire v: 1.0.3 status: active
Network:
Device-1: Intel Wi-Fi 6E AX210/AX1675 2x2 [Typhoon
Peak] driver: iwlwifi
v: kernel bus-ID: 09:00.0
IF: wlp9s0 state: up mac: bc:6e:e2:d0:16:cd
Device-2: Intel Ethernet I225-LM vendor: Lenovo
driver: igc v: kernel
port: N/A bus-ID: 0b:00.0
IF: enp11s0 state: up speed: 1000 Mbps duplex: full
mac: 88:a4:c2:ba:3c:9b
Bluetooth:
Device-1: Intel AX210 Bluetooth driver: btusb v: 0.8
type: USB
bus-ID: 3-14:7
Report: btmgmt ID: hci0 rfk-id: 2 state: up address:
BC:6E:E2:D0:16:D1
bt-v: 5.3 lmp-v: 12
RAID:
Device-1: devpool001 type: zfs status: ONLINE level:
linear raw:
size: 1.81 TiB free: 1.53 TiB zfs-fs:
size: 1.8 TiB free: 1.48 TiB
Components: Online: 1:
Drives:
Local Storage: total: 12.87 TiB used: 6.59 TiB
(51.2%)
ID-1: /dev/nvme0n1 vendor: Samsung model:
MZVL22T0HBLB-00BL7
size: 1.86 TiB temp: 64.8 C
ID-2: /dev/nvme1n1 vendor: A-Data model: LEGEND 960
size: 3.73 TiB
temp: 41.9 C
ID-3: /dev/nvme2n1 vendor: A-Data model: SWORDFISH
size: 1.82 TiB
temp: 35.9 C
ID-4: /dev/sda vendor: Delock model: 42614 size: 1.82
TiB type: USB
ID-5: /dev/sdb vendor: Western Digital model:
WD40NDZW-11BHVS1
size: 3.64 TiB type: USB
Partition:
ID-1: / size: 1.82 TiB used: 854.02 GiB (45.7%) fs:
ext4 dev: /dev/dm-0
mapped:
luks-0c22d523-35b4-4afb-b00a-43dbb161ed84
ID-2: /boot size: 3.86 GiB used: 1.17 GiB (30.3%) fs:
ext4
dev: /dev/nvme0n1p3
ID-3: /boot/efi size: 877.3 MiB used: 23.3 MiB (2.7%)
fs: vfat
dev: /dev/nvme0n1p1
Swap:
ID-1: swap-1 type: zram size: 8 GiB used: 768 KiB
(0.0%) dev: /dev/zram0
Sensors:
System Temperatures: cpu: 69.0 C mobo: N/A
Fan Speeds (rpm): N/A
Info:
Memory: total: 128 GiB note: est. available: 125.5
GiB
used: 81.68 GiB (65.1%)
Processes: 730 Uptime: 16h 54m Init: systemd target:
graphical (5)
Packages: N/A Compilers: clang: 17.0.6 gcc: 13.2.1
Shell: Bash v: 5.2.26
inxi: 3.3.33
[xtrnaw7@t15g /var/tmp/jwm]$
ifstat is another network bandwith monitoring tool
ifstat usage
xtrnaw7@t61p Thu Oct 31 20:35:41 /var/tmp/jwm/bin $
./ifstat --help
ifstat: invalid option '--'.
usage: ifstat [-a] [-l] [-z] [-n] [-v] [-h] [-t] [-i
if0,if1,...]
[-d drv[:opt]] [-s
[comm@][#]host[/nn]] [-T] [-A] [-w]
[-W] [-S] [-b] [-q]
[delay[/delay] [count]]
ifstat example
[JWM session] [root@t540p jwm]# ifstat 1
em1
wlp4s0
virbr0
vboxnet0
KB/s in KB/s out KB/s in KB/s
out KB/s in KB/s out KB/s
in KB/s out
9.83
0.92
0.00
0.00
0.00
0.00
0.00 0.00
13.86
0.92
0.00
0.00
0.00
0.00
0.00 0.00
10.59
0.92
0.00
0.00
0.00
0.00
0.00 0.00
15.97
1.05
0.00
0.00
0.00
0.00
0.00 0.06
6.74
0.92
0.00
0.00
0.00
0.00
0.00 0.00
9.26
0.92
0.00
0.00
0.00
0.00
0.00 0.00
9.95
0.92
0.00
0.00
0.00
0.00
0.00 0.00
9.36
0.98
0.00
0.00
0.00
0.00
0.00 0.00
11.04
0.92
0.00
0.00
0.00
0.00
0.00 0.00
^C
inotifywait and
inotifywatch are programs that
can be used to monitor and act upon filesystem events.
For more information see the website
https://github.com/rvoicilas/inotify-tools/wiki.
Various tools from Intel to monitor the CPU performance counter.
*** pcm-core.x :
Intel(r) Performance Counter Monitor: Core
Monitoring Utility
Copyright (c) 2009-2016 Intel Corporation
Number of physical cores: 4
Number of logical cores: 8
Number of online logical cores: 8
Threads (logical cores) per physical core: 2
Num sockets: 1
Physical cores per socket: 4
Core PMU (perfmon) version: 3
Number of core PMU generic (programmable) counters: 4
Width of generic (programmable) counters: 48 bits
Number of core PMU fixed counters: 3
Width of fixed counters: 48 bits
Can not access CPUs Model Specific Registers (MSRs).
Try to execute 'modprobe msr' as root user and then
you also must have read and write permissions for
/dev/cpu/*/msr devices (/dev/msr* for Android). The 'chown'
command can help.
Usage:
./pcm-core.x --help | [delay] [options] [--
external_program [external_program_options]]
<delay>
=> time interval to sample performance counters.
If not specified, or 0, with external program given
will read counters only after external program finishes
Supported <options> are:
-h |
--help |
/h
=> print this help and exit
-c |
/c
=> print CPU Model name and exit (used for pmu-query.py)
-csv[=file.csv] |
/csv[=file.csv] => output compact CSV format to
screen or
to a file, in case filename is provided
[-e event1] [-e event2] [-e event3] .. => optional
list of custom events to monitor (up to 4).
-yc | --yescores |
/yc
=> enable specific cores to output
Examples:
./pcm-core.x
1
=> print counters every second without core and socket
output
./pcm-core.x 0.5 -csv=test.log =>
twice a second save counter values to test.log in CSV format
./pcm-core.x /csv 5 2>/dev/null => one
sampe every 5 seconds, and discard all diagnostic output
*** pcm-memory.x :
Intel(r) Performance Counter Monitor: Memory
Bandwidth Monitoring Utility V2.11 (2016-04-20 12:01:09
+0200 ID=56de28a)
Copyright (c) 2009-2016 Intel Corporation
This utility measures memory bandwidth per channel or
per DIMM rank in real-time
Number of physical cores: 4
Number of logical cores: 8
Number of online logical cores: 8
Threads (logical cores) per physical core: 2
Num sockets: 1
Physical cores per socket: 4
Core PMU (perfmon) version: 3
Number of core PMU generic (programmable) counters: 4
Width of generic (programmable) counters: 48 bits
Number of core PMU fixed counters: 3
Width of fixed counters: 48 bits
Can not access CPUs Model Specific Registers (MSRs).
Try to execute 'modprobe msr' as root user and then
you also must have read and write permissions for
/dev/cpu/*/msr devices (/dev/msr* for Android). The 'chown'
command can help.
Usage:
./pcm-memory.x --help | [delay] [options] [--
external_program [external_program_options]]
<delay>
=> time interval to sample performance counters.
If not specified, or 0, with external program given
will read counters only after external program finishes
Supported <options> are:
-h | --help |
/h
=> print this help and exit
-rank=X |
/rank=X
=> monitor DIMM rank X. At most 2 out of 8 total ranks
can be monitored simultaneously.
-csv[=file.csv] | /csv[=file.csv] => output
compact CSV format to screen or
to a file, in case filename is provided
-columns=X |
/columns=X
=> Number of columns to display the NUMA Nodes, defaults
to 2.
Examples:
./pcm-memory.x
1
=> print counters every second without core and socket
output
./pcm-memory.x 0.5 -csv=test.log => twice a
second save counter values to test.log in CSV format
./pcm-memory.x /csv 5 2>/dev/null => one sampe
every 5 seconds, and discard all diagnostic output
*** pcm-msr.x :
Intel(r) Performance Counter Monitor V2.11
(2016-04-20 12:01:09 +0200 ID=56de28a)
Copyright (c) 2009-2016 Intel Corporation
MSR read/write utility
./pcm-msr.x: invalid option -- '-'
Usage ./pcm-msr.x [-w value] [-c core] [-d] msr
Reads specified msr (model specific register)
-w value : write the value before reading
-c core : perform msr read/write on
specified core (default is 0)
-d : output
all numbers in dec (default is hex)
*** pcm-numa.x :
Intel(r) Performance Counter Monitor: NUMA
monitoring utility
Copyright (c) 2009-2016 Intel Corporation
Number of physical cores: 4
Number of logical cores: 8
Number of online logical cores: 8
Threads (logical cores) per physical core: 2
Num sockets: 1
Physical cores per socket: 4
Core PMU (perfmon) version: 3
Number of core PMU generic (programmable) counters: 4
Width of generic (programmable) counters: 48 bits
Number of core PMU fixed counters: 3
Width of fixed counters: 48 bits
Can not access CPUs Model Specific Registers (MSRs).
Try to execute 'modprobe msr' as root user and then
you also must have read and write permissions for
/dev/cpu/*/msr devices (/dev/msr* for Android). The 'chown'
command can help.
Usage:
./pcm-numa.x --help | [delay] [options] [--
external_program [external_program_options]]
<delay>
=> time interval to sample performance counters.
If not specified, or 0, with external program given
will read counters only after external program finishes
Supported <options> are:
-h | --help |
/h
=> print this help and exit
-csv[=file.csv] | /csv[=file.csv] => output
compact CSV format to screen or
to a file, in case filename is provided
Examples:
./pcm-numa.x
1
=> print counters every second without core and socket
output
./pcm-numa.x 0.5 -csv=test.log => twice a
second save counter values to test.log in CSV format
./pcm-numa.x /csv 5 2>/dev/null => one sample
every 5 seconds, and discard all diagnostic output
*** pcm-pcie.x :
Intel(r) Performance Counter Monitor: PCIe
Bandwidth Monitoring Utility
Copyright (c) 2009-2016 Intel Corporation
This utility measures PCIe bandwidth in real-time
PCIe event definitions (each event counts as a
transfer):
PCIe read events (PCI devices reading from
memory - application writes to disk/network/PCIe device):
PCIePRd - PCIe UC read
transfer (partial cache line)
PCIeRdCur* - PCIe read current
transfer (full cache line)
On Haswell
Server PCIeRdCur counts both full/partial cache lines
RFO*
- Demand Data RFO
CRd*
- Demand Code Read
DRd - Demand Data Read
PCIeNSWr - PCIe Non-snoop
write transfer (partial cache line)
PCIe write events (PCI devices writing to
memory - application reads from disk/network/PCIe device):
PCIeWiLF - PCIe Write
transfer (non-allocating) (full cache line)
PCIeItoM - PCIe Write
transfer (allocating) (full cache line)
PCIeNSWr - PCIe Non-snoop
write transfer (partial cache line)
PCIeNSWrF - PCIe Non-snoop write
transfer (full cache line)
ItoM
- PCIe write full cache line
RFO - PCIe parial Write
CPU MMIO events (CPU reading/writing to PCIe
devices):
PRd - MMIO Read [Haswell
Server only] (Partial Cache Line)
WiL - MMIO Write
(Full/Partial)
* - NOTE: Depending on the configuration of your BIOS,
this tool may report '0' if the message
has not been selected.
Number of physical cores: 4
Number of logical cores: 8
Number of online logical cores: 8
Threads (logical cores) per physical core: 2
Num sockets: 1
Physical cores per socket: 4
Core PMU (perfmon) version: 3
Number of core PMU generic (programmable) counters: 4
Width of generic (programmable) counters: 48 bits
Number of core PMU fixed counters: 3
Width of fixed counters: 48 bits
Can not access CPUs Model Specific Registers (MSRs).
Try to execute 'modprobe msr' as root user and then
you also must have read and write permissions for
/dev/cpu/*/msr devices (/dev/msr* for Android). The 'chown'
command can help.
Usage:
./pcm-pcie.x --help | [delay] [options] [--
external_program [external_program_options]]
<delay>
=> time interval to sample performance counters.
If not specified, or 0, with external program given
will read counters only after external program finishes
Supported <options> are:
-h | --help |
/h
=> print this help and exit
-csv[=file.csv] | /csv[=file.csv] => output
compact CSV format to screen or
to a file, in case filename is provided
-B
=> Estimate PCIe B/W (in Bytes/sec) by multiplying
the number of transfers by the cache line size (=64 bytes).
It overestimates the bandwidth under traffic with many
partial cache line transfers.
PCIe event definitions (each event counts as a
transfer):
PCIe read events (PCI devices reading from
memory - application writes to disk/network/PCIe device):
PCIePRd - PCIe UC read
transfer (partial cache line)
PCIeRdCur* - PCIe read current
transfer (full cache line)
On Haswell
Server PCIeRdCur counts both full/partial cache lines
RFO*
- Demand Data RFO
CRd*
- Demand Code Read
DRd - Demand Data Read
PCIeNSWr - PCIe Non-snoop
write transfer (partial cache line)
PCIe write events (PCI devices writing to
memory - application reads from disk/network/PCIe device):
PCIeWiLF - PCIe Write
transfer (non-allocating) (full cache line)
PCIeItoM - PCIe Write
transfer (allocating) (full cache line)
PCIeNSWr - PCIe Non-snoop
write transfer (partial cache line)
PCIeNSWrF - PCIe Non-snoop write
transfer (full cache line)
ItoM
- PCIe write full cache line
RFO - PCIe parial Write
CPU MMIO events (CPU reading/writing to PCIe
devices):
PRd - MMIO Read [Haswell
Server only] (Partial Cache Line)
WiL - MMIO Write
(Full/Partial)
* - NOTE: Depending on the configuration of your BIOS,
this tool may report '0' if the message
has not been selected.
Examples:
./pcm-pcie.x
1
=> print counters every second without core and socket
output
./pcm-pcie.x 0.5 -csv=test.log => twice a
second save counter values to test.log in CSV format
./pcm-pcie.x /csv 5 2>/dev/null => one sampe
every 5 seconds, and discard all diagnostic output
*** pcm-power.x :
Intel(r) Performance Counter Monitor V2.11
(2016-04-20 12:01:09 +0200 ID=56de28a)
Power Monitoring Utility
Copyright (c) 2009-2016 Intel Corporation
Number of physical cores: 4
Number of logical cores: 8
Number of online logical cores: 8
Threads (logical cores) per physical core: 2
Num sockets: 1
Physical cores per socket: 4
Core PMU (perfmon) version: 3
Number of core PMU generic (programmable) counters: 4
Width of generic (programmable) counters: 48 bits
Number of core PMU fixed counters: 3
Width of fixed counters: 48 bits
Can not access CPUs Model Specific Registers (MSRs).
Try to execute 'modprobe msr' as root user and then
you also must have read and write permissions for
/dev/cpu/*/msr devices (/dev/msr* for Android). The 'chown'
command can help.
Usage:
./pcm-power.x --help | [delay] [options] [--
external_program [external_program_options]]
<delay>
=> time interval to sample performance counters.
If not specified, or 0, with external program given
will read counters only after external program finishes
Supported <options> are:
-h | --help |
/h
=> print this help and exit
[-m imc_profile] [-p pcu_profile] [-a freq_band0] [-b
freq_band1] [-c freq_band2]
Where: imc_profile, pcu_profile, freq_band0,
freq_band1 and freq_band2 are the following:
<imc_profile> -
profile (counter group) for IMC PMU. Possible values are:
0,1,2,3,4,-1
profile 0 - rank 0 and rank 1 residencies (default)
profile 1 - rank 2 and rank 3 residencies
profile 2 - rank 4 and rank 5 residencies
profile 3 - rank 6 and rank 7 residencies
profile 4 - self-refresh residencies
profile -1 - omit IMC PMU output
<pcu_profile> -
profile (counter group) for PCU PMU. Possible values are:
0,1,2,3,4,5,-1
profile 0 - frequency residencies (default)
profile 1 - core C-state residencies. The unit is the
number of physical cores on the socket who were in C0, C3 or
C6 during the measurement interval (e.g. 'C0 residency is
3.5' means on average 3.5 physical cores were resident in C0
state)
profile 2 - Prochot (throttled) residencies and
thermal frequency limit cycles
profile 3 - {Thermal,Power,Clipped} frequency limit
cycles
profile 4 - {OS,Power,Clipped} frequency limit cycles
profile 5 - frequency transition statistics
profile 6 - package C-states residency and transition
statistics
profile 7 - UFS transition statistics (1)
profile 8 - UFS transition statistics (2)
profile -1 - omit PCU PMU output
<freq_band0> -
frequency minumum for band 0 for PCU frequency residency
profile [in 100MHz units] (default is 12= 1200MHz)
<freq_band1> -
frequency minumum for band 1 for PCU frequency residency
profile [in 100MHz units] (default is 20= 2000MHz)
<freq_band2> -
frequency minumum for band 2 for PCU frequency residency
profile [in 100MHz units] (default is 40= 4000MHz)
*** pcm-sensor.x :
Number of physical cores: 4
Number of logical cores: 8
Number of online logical cores: 8
Threads (logical cores) per physical core: 2
Num sockets: 1
Physical cores per socket: 4
Core PMU (perfmon) version: 3
Number of core PMU generic (programmable) counters: 4
Width of generic (programmable) counters: 48 bits
Number of core PMU fixed counters: 3
Width of fixed counters: 48 bits
Can not access CPUs Model Specific Registers (MSRs).
Try to execute 'modprobe msr' as root user and then
you also must have read and write permissions for
/dev/cpu/*/msr devices (/dev/msr* for Android). The 'chown'
command can help.
Can not access CPU counters. Try to run pcm.x 1 to check the
PMU access status.
*** pcm-tsx.x :
Intel(r) Performance Counter Monitor: Intel(r)
Transactional Synchronization Extensions Monitoring Utility
Copyright (c) 2009-2016 Intel Corporation
Number of physical cores: 4
Number of logical cores: 8
Number of online logical cores: 8
Threads (logical cores) per physical core: 2
Num sockets: 1
Physical cores per socket: 4
Core PMU (perfmon) version: 3
Number of core PMU generic (programmable) counters: 4
Width of generic (programmable) counters: 48 bits
Number of core PMU fixed counters: 3
Width of fixed counters: 48 bits
Can not access CPUs Model Specific Registers (MSRs).
Try to execute 'modprobe msr' as root user and then
you also must have read and write permissions for
/dev/cpu/*/msr devices (/dev/msr* for Android). The 'chown'
command can help.
Usage:
./pcm-tsx.x --help | [delay] [options] [--
external_program [external_program_options]]
<delay>
=> time interval to sample performance counters.
If not specified, or 0, with external program given
will read counters only after external program finishes
Supported <options> are:
-h | --help |
/h
=> print this help and exit
-F |
-force
=> force running this program despite lack of HW RTM
support (optional)
-csv[=file.csv] | /csv[=file.csv] => output
compact CSV format to screen or
to a file, in case filename is provided
[-e event1] [-e event2] [-e event3]=> optional
list of custom TSX events to monitor (up to 4). The
list of supported events:
RTM_RETIRED.START Number of times an RTM
execution started.
RTM_RETIRED.COMMIT Number of times an RTM
execution successfully committed
RTM_RETIRED.ABORTED Number of times an RTM
execution aborted due to any reasons (multiple categories
may count as one)
RTM_RETIRED.ABO*** pcm-tsx.x : RTED_MISC1
Number of times an RTM execution aborted due to various
memory events
RTM_RETIRED.ABORTED_MISC2 Number of times
an RTM execution aborted due to uncommon conditions
RTM_RETIRED.ABORTED_MISC3 Number of times
an RTM execution aborted due to Intel TSX-unfriendly
instructions
RTM_RETIRED.ABORTED_MISC4 Number of times
an RTM execution aborted due to incompatible memory type
RTM_RETIRED.ABORTED_MISC5 Number of times
an RTM execution aborted due to none of the previous 4
categories (e.g. interrupt)
HLE_RETIRED.START Number of times an HLE
execution started.
HLE_RETIRED.COMMIT Number of times an HLE
execution successfully committed
HLE_RETIRED.ABORTED Number of times an HLE
execution aborted due to any reasons (multiple categories
may count as one)
HLE_RETIRED.ABORTED_MISC1 Number of times
an HLE execution aborted due to various memory events
HLE_RETIRED.ABORTED_MISC2 Number of times
an HLE execution aborted due to uncommon conditions
HLE_RETIRED.ABORTED_MISC3 Number of times
an HLE execution aborted due to Intel TSX-unfriendly
instructions
HLE_RETIRED.ABORTED_MISC4 Number of times
an HLE execution aborted due to incompatible memory type
HLE_RETIRED.ABORTED_MISC5 Number of times
an HLE execution aborted due to none of the previous 4
categories (e.g. interrupt)
TX_MEM.ABORT_CONFLICT Number of times a
transactional abort was signaled due to a data conflict on a
transactionally accessed address
TX_MEM.ABORT_CAPACITY_WRITE Number of
times a transactional abort was signaled due to limited
resources for transactional stores
TX_MEM.ABORT_HLE_STORE_TO_ELIDED_LOCK
Number of times a HLE transactional region aborted due to a
non XRELEASE prefixed instruction writing to an elided lock
in the elision buffer
TX_MEM.ABORT_HLE_ELISION_BUFFER_NOT_EMPTY
Number of times an HLE transactional execution aborted due
to NoAllocatedElisionBuffer being nonzero.
TX_MEM.ABORT_HLE_ELISION_BUFFER_MISMATCH
Number of times an HLE transactional execution aborted due
to XRELEASE lock not satisfying the address and value
requirements in the elision buffer.
TX_MEM.ABORT_HLE_ELISION_BUFFER_UNSUPPORTED_ALIGNMENT
Number of times an HLE transactional execution aborted due
to an unsupported read alignment from the elision buffer.
TX_MEM.HLE_ELISION_BUFFER_FULL Number of
times HLE lock could not be elided due to
ElisionBufferAvailable being zero.
TX_EXEC.MISC1 Counts the number of times a
class of instructions that may cause a transactional abort
was executed. Since this is the count of execution, it may
not always cause a transactional abort.
TX_EXEC.MISC2 Counts the number of times a
class of instructions that may cause a transactional abort
was executed inside a transactional region
TX_EXEC.MISC3 Counts the number of times
an instruction execution caused the nest count supported to
be exceeded
TX_EXEC.MISC4 Counts the number of times
an HLE XACQUIRE instruction was executed inside an RTM
transactional region
Examples:
./pcm-tsx.x
1
=> print counters every second without core and socket
output
./pcm-tsx.x 0.5 -csv=test.log => twice a
second save counter values to test.log in CSV format
./pcm-tsx.x /csv 5 2>/dev/null => one sampe
every 5 seconds, and discard all diagnostic output
*** pcm.x :
Intel(r) Performance Counter Monitor V2.11
(2016-04-20 12:01:09 +0200 ID=56de28a)
Copyright (c) 2009-2016 Intel Corporation
Number of physical cores: 4
Number of logical cores: 8
Number of online logical cores: 8
Threads (logical cores) per physical core: 2
Num sockets: 1
Physical cores per socket: 4
Core PMU (perfmon) version: 3
Number of core PMU generic (programmable) counters: 4
Width of generic (programmable) counters: 48 bits
Number of core PMU fixed counters: 3
Width of fixed counters: 48 bits
Can not access CPUs Model Specific Registers (MSRs).
Try to execute 'modprobe msr' as root user and then
you also must have read and write permissions for
/dev/cpu/*/msr devices (/dev/msr* for Android). The 'chown'
command can help.
Usage:
./pcm.x --help | [delay] [options] [--
external_program [external_program_options]]
<delay>
=> time interval to sample performance counters.
If not specified, or 0, with external program given
will read counters only after external program finishes
Supported <options> are:
-h |
--help |
/h
=> print this help and exit
-r |
--reset |
/reset => reset PMU
configuration (at your own risk)
-nc | --nocores |
/nc
=> hide core related output
-yc | --yescores |
/yc
=> enable specific cores to output
-ns | --nosockets |
/ns
=> hide socket related output
-nsys | --nosystem |
/nsys => hide
system related output
-m | --multiple-instances |
/m => allow multiple PCM instances running in
parallel
-csv[=file.csv] | /csv[=file.csv] => output
compact CSV format to screen or
to a file, in case filename is provided
-i[=number] |
/i[=number]
=> allow to determine number of iterations
Examples:
./pcm.x 1 -nc
-ns
=> print counters every second without core and socket
output
./pcm.x 1
-i=10
=> print counters every second 10 times and exit
./pcm.x 0.5 -csv=test.log => twice a second
save counter values to test.log in CSV format
./pcm.x /csv 5 2>/dev/null => one sampe every 5
seconds, and discard all diagnostic output
inq is the harddisk inquiry program from EMC
inq usage
[xtrnaw7@t540p /var/tmp/jwm/bin1]$ ./inq -h
Inquiry utility, Version V9.2-2622 (Rev 1.2)
(c) 2021 Copyright Dell Inc. All Rights Reserved.
For help type inq -h.
Usage: inquiry
<options>
display
types:
-h
: display this help
screen
-et
: display emulation and type info (Symmetrix
only)
-ckd
: display CKD device
info
(Symmetrix only)
-parent
: display both PowerPath and OS device
relationships
-celerra :
display Celerra lable
devices
-sid
: display Symmetrix Serial
Number
-sym_wwn :
display Symmetrix device wwn and Serial
Number
-clariion :
display CLARiiON device
information
-clar_wwn :
display CLARiiON WWN and Serial
Number
-showvol :
display Symmetrix Volume
Number.
-compat
: display old
format
-btl
: display Bus Target and
Lun
-sw_wwn
: display StorageWorks WWN and Serial
Id
-hds_wwn :
display HDS WWN and Serial
Id
-s80_wwn :
display S80 WWN and Serial
Id
-invista_wwn : display Invista WWN
and Serial
Id
-shark_wwn : display IBM
Shark WWN and Serial
Id
-compaq_wwn : display Compaq
WWN and Serial
Id
-netapp_wwn : display Netapp
WWN and Serial
Id
-hba
: display HBA info only. See options
below
-vplex_wwn : display
VPLEX VirtualVolume
WWN
-xtremio_wwn : display XtremIO
WWN
-scaleio_wwn : display ScaleIO
WWN
-cloudarray_wwn :
display CloudArray
WWN
-datadomain_wwn :
display DataDomain
WWN
-powerstore_wwn :
display PowerStore
WWN
-nvme_wwn :
display NVMe WWN
information
-lunz_wwn :
display VMAXLUNZ devices. Note: If PowerPath owns a
: LUNZ device, then inq might not be able to open it.
-identifier
<device_name | nice_name | hp_id |
vms_id>
: display device identifier info (EMC devices
only)
-mapinfo :
display target mapping
information
-noreadonly : do not open
devices in read only
mode
-native
: if spoofed device (in migration), display non-spoofed
array inquiry
data
-wwn
: display devices
WWN
-fastping : test
if devices can be
reached
filter
options:
-no_filters : show every
device even if no data
available
-f_powerpath : filter - only
powerpath
devices
-f_pseudo : filter
- only pseudo
devices
-f_real
: filter - only real
devices
-f_emc
: filter - only EMC
devices
-f_ckd
: filter - only ckd
devices
-f_celerra : filter
- only Celerra
devices
-f_4k
: filter - only Symmetrix device numbers <
4096
-f_clariion : filter -
only CLARiiON
devices
-f_storwrks : filter -
only Compaq StorageWorks
devices
-f_hds
: filter - only Hitachi HDS
devices
-f_s80
: filter - only Fujitsu Siemens S80
devices
-f_invista : filter
- only EMC Invista
devices
-f_vplex :
filter - only EMC VPLEX
devices
-f_shark :
filter - only IBM SHARK
devices
-f_xtremio : filter
- only XTREMIO
devices
-f_scaleio : filter
- only ScaleIO
devices
-f_cloudarray : filter - only
CloudArray
devices
-f_datadomain : filter - only
DataDomain
devices
-f_size
<size> : filter - only show devices
with <= size in kbytes
-f_mobility : filter -
only mobility
devices
-f_powerstore : filter - only
PowerStore
devices
-f_nvme
: filter - only NVMe
devices
query
options:
-skipread : do not
request Read
Capacity
-skipinq :
do not request Inquiry
data
-skipboth : do not
request Read Capacity or Inquiry
data
device
options:
-dev
<device> : do inquiry on specified
device
SCSI
queries:
-page0
: display detailed inquiry
page (requires
-dev)
-pagec0
: display detailed SCSI VPD page c0
(requires -dev)
-page
xx : display
SCSI VPD page xx (hex)
(requires -dev)
-symmvol
<vol#> : show devices with Symm HEX volume #=
<vol#>
-clar_file
<file-name>: show clariion devices in
file
-inq_file
<file-name>: use devices in
file
other
options:
-no_dots :
do not display status
dots
-sortoff :
do not perform ANY
sorting
-sortsymm : sort
by Symmetrix serial number (Symmetrix
only)
sym_wwn
options:
-sid_wwn
<sid> : the 12 digit SID of the symm for
which you want wwn's
-symdev
<dev> : the device for which you want the
wwn
HBA specific
options:
-hba
: display HBA info
only
-fibre
: display FC HBA info
only
-iscsi
: display ISCSI HBA info
only
-scsi
: display SCSI HBA info
only
-hba_file
<file> : external HBA file to use. -fibre
only
-create
: create external HBA file specified by
-hba_file
Usage
:
inquiry -hba [-fibre
[-hba_file <file>] [-create]] [-scsi]
[-iscsi]
Debug
options:
Set these environment variables
(preferred
method)
SDEBUG=ALL
SDEBUG_FILE=path/filename
or as option (these do not reflect SIL
initialization)
-dbg
- debug output to
stdout
-dbg_log - debug
output to the file
inquiry.log
Release
notes:
Only options listed above are
supported, although other
options
may continue to work, they are
subject to change or
removal.
The following parameter changes
have occurred this
release
New: -powerstore_wwn
-f_powerstore
[xtrnaw7@t540p /var/tmp/jwm/bin1]$
inq example
[xtrnaw7@t540p /var/tmp/jwm/src]$ sudo
/var/tmp/jwm/bin1/inq.LinuxAMD64 -dev /dev/sda
Inquiry utility, Version V9.2-2622 (Rev 1.0)
(c) 2021 Copyright Dell Inc. All Rights Reserved.
For help type inq -h.
-------------------------------------------------------------------
DEVICE :VEND
:PROD
:REV :SER
NUM
:CAP(kb)
-------------------------------------------------------------------
/dev/sda :ATA :Samsung SSD 870
:1B6Q
:
: 3907018584
[xtrnaw7@t540p /var/tmp/jwm/src]$ sudo
/var/tmp/jwm/bin1/inq.LinuxAMD64 -dev /dev/sda -v
Inquiry utility, Version V9.2-2622 (Rev 1.0)
(c) 2021 Copyright Dell Inc. All Rights Reserved.
For help type inq -h.
STANDARD INQUIRY PAGE ---- RAW DATA FORMAT ----
STANDARD INQUIRY PAGE
-----------------------------------------------------------------------
00 01 02 03 04 05 06
07 08 09 0A 0B 0C 0D 0E 0F
------------------------------------------------
0000: 00 00 05 02 5b 00 00 02 41 54 41 20 20 20
20 20 ....[...ATA
0010: 53 61 6d 73 75 6e 67 20 53 53 44 20 38 37
30 20 Samsung SSD 870
0020: 31 42 36 51 00 00 00 00 00 00 00 00 00 00
00 00 1B6Q............
0030: 00 00 00 00 00 00 00 00 00 00 00 60 03 20
03 00 ...........`. ..
0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 ................
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 ................
-----------------------------------------------------------------------
-----------------------------------------------------------------------------
BYTE 00: Peripheral Qualifer =
0x00 Peripheral Device
Type = 0x00
BYTE 01: Removeable Media =
0x00 Device Type
Modifier = 0x00
BYTE 02: ISO Ver = 0x00 ECMA
Ver =
0x00 ANSI
Vers = 0x05 (SPC-3)
BYTE 03: AENC TmIO
NACA Reserved Response Data Format
0
0
0
0
0x02
BYTE 04: Additional
Length
= 0x5b
BYTE 05:
Reserved
= 0x00
BYTE 06: Reserved ENCSrv
vs DualP MChng
AckReqQ Addr32 Addr16
0
0
0
0
0
0
0 0
BYTE 07: RelAdr WBus32 WBus16
Sync Linked
TransDis CmdQue StRe
0
0
0
0
0
0
1 0
-----------------------------------------------------------------------------
BYTE 08 - 15: Vendor
ID
= "ATA "
BYTE 16 - 31: Product
ID
= "Samsung SSD 870 "
BYTE 32 - 35: Product
Revision
= "1B6Q"
-----------------------------------------------------------------------------
[xtrnaw7@t540p /var/tmp/jwm/src]$
ioping is a tool to monitor I/O latency in real time.
It shows disk latency in the same way as ping shows network
latency.
ioping usage
[xtrnaw7@t540p /var/tmp/jwm/sbin]$ ./ioping -h
Usage: ioping [-ABCDRLWYykq] [-c count] [-i interval]
[-s size] [-S wsize]
[-o offset] [-w deadline] [-pP period] directory|file|device
ioping -h | -v
options:
-A,
-async
use asynchronous I/O
-C,
-cached
use cached I/O (no cache flush/drop)
-D,
-direct
use direct I/O (O_DIRECT)
-G,
-read-write
read-write ping-pong mode
-L,
-linear
use sequential operations
-W,
-write
use write I/O (please read manpage)
-Y,
-sync
use sync I/O (O_SYNC)
-y,
-dsync
use data sync I/O (O_DSYNC)
-R,
-rapid
test with rapid I/O during 3s (-q -i 0 -w 3)
-k,
-keep
keep and reuse temporary file (ioping.tmp)
parameters:
-a, -warmup
<count>
ignore <count> first requests (1)
-c, -count
<count>
stop after <count> requests
-i, -interval
<time> interval
between requests (1s)
-s, -size
<size>
request size (4k)
-S, -work-size
<size> working set size
(1m)
-o, -work-offset
<size> working set offset (0)
-w, -work-time
<time> stop after
<time> passed
-l, -speed-limit
<size> limit speed with <size>
per second
-r, -rate-limit
<count> limit rate with
<count> per second
output:
-p, -print-count
<count> print raw statistics for every
<count> requests
-P, -print-interval
<time> print raw statistics for every <time>
-t, -min-time
<time> minimal
valid request time (0us)
-T, -max-time
<time> maximum
valid request time
-B,
-batch
print final statistics in raw format
-J,
-json
print output in JSON format
-q,
-quiet
suppress human-readable output
-h,
-help
display this message and exit
-v,
-version
display version and exit
[xtrnaw7@t540p /var/tmp/jwm/sbin]$
ioping examples
[xtrnaw7@t540p /var/tmp/jwm/sbin]$ sudo ./ioping -c 5
/dev/dm-0
4 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=1 time=2.90 ms (warmup)
4 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=2 time=2.96 ms
4 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=3 time=4.61 ms
4 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=4 time=2.89 ms
4 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=5 time=2.89 ms
--- /dev/dm-0 (block device 46.6 GiB) ioping
statistics ---
4 requests completed in 13.4 ms, 16 KiB read, 299
iops, 1.17 MiB/s
generated 5 requests in 4.00 s, 20 KiB, 1 iops,
5.00 KiB/s
min/avg/max/mdev = 2.89 ms / 3.34 ms / 4.61 ms /
736.1 us
[xtrnaw7@t540p /var/tmp/jwm/sbin]$ sudo
./ioping -c 5 -s 8k /dev/dm-0
8 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=1 time=4.63 ms (warmup)
8 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=2 time=4.79 ms
8 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=3 time=2.89 ms
8 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=4 time=4.75 ms
8 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=5 time=2.90 ms
--- /dev/dm-0 (block device 46.6 GiB) ioping
statistics ---
4 requests completed in 15.3 ms, 32 KiB read, 260
iops, 2.04 MiB/s
generated 5 requests in 4.00 s, 40 KiB, 1 iops,
9.99 KiB/s
min/avg/max/mdev = 2.89 ms / 3.83 ms / 4.79 ms /
935.7 us
[xtrnaw7@t540p /var/tmp/jwm/sbin]$ sudo ./ioping
-c 5 -s 16k /dev/dm-0
16 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=1 time=2.89 ms (warmup)
16 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=2 time=2.97 ms
16 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=3 time=4.74 ms
16 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=4 time=3.10 ms
16 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=5 time=4.72 ms
--- /dev/dm-0 (block device 46.6 GiB) ioping
statistics ---
4 requests completed in 15.5 ms, 64 KiB read, 257
iops, 4.03 MiB/s
generated 5 requests in 4.01 s, 80 KiB, 1 iops,
20.0 KiB/s
min/avg/max/mdev = 2.97 ms / 3.88 ms / 4.74 ms /
846.8 us
[xtrnaw7@t540p /var/tmp/jwm/sbin]$ sudo
./ioping -c 5 -Y /dev/dm-0
4 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=1 time=4.60 ms (warmup)
4 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=2 time=4.62 ms
4 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=3 time=2.89 ms
4 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=4 time=4.55 ms
4 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=5 time=2.95 ms
--- /dev/dm-0 (block device 46.6 GiB)
ioping statistics ---
4 requests completed in 15.0 ms, 16 KiB read, 266 iops, 1.04
MiB/s
generated 5 requests in 4.00 s, 20 KiB, 1 iops,
5.00 KiB/s
min/avg/max/mdev = 2.89 ms / 3.75 ms / 4.62 ms /
833.1 us
[xtrnaw7@t540p /var/tmp/jwm/sbin]$
[xtrnaw7@t540p /var/tmp/jwm/sbin]$ sudo ./ioping -c 15
/dev/sda1
4 KiB <<< /dev/sda1 (block device 477 MiB):
request=1 time=4.53 ms (warmup)
4 KiB <<< /dev/sda1 (block device 477 MiB):
request=2 time=4.65 ms
4 KiB <<< /dev/sda1 (block device 477 MiB):
request=3 time=2.85 ms
4 KiB <<< /dev/sda1 (block device 477 MiB):
request=4 time=4.66 ms
4 KiB <<< /dev/sda1 (block device 477 MiB):
request=5 time=2.95 ms
4 KiB <<< /dev/sda1 (block device 477 MiB):
request=6 time=4.66 ms
4 KiB <<< /dev/sda1 (block device 477 MiB):
request=7 time=2.89 ms (fast)
4 KiB <<< /dev/sda1 (block device 477 MiB):
request=8 time=4.63 ms (slow)
4 KiB <<< /dev/sda1 (block device 477 MiB):
request=9 time=2.96 ms
4 KiB <<< /dev/sda1 (block device 477 MiB):
request=10 time=4.67 ms (slow)
4 KiB <<< /dev/sda1 (block device 477 MiB):
request=11 time=2.83 ms (fast)
4 KiB <<< /dev/sda1 (block device 477 MiB):
request=12 time=4.68 ms (slow)
4 KiB <<< /dev/sda1 (block device 477 MiB):
request=13 time=2.91 ms (fast)
4 KiB <<< /dev/sda1 (block device 477 MiB):
request=14 time=4.62 ms (slow)
4 KiB <<< /dev/sda1 (block device 477 MiB):
request=15 time=2.95 ms
--- /dev/sda1 (block device 477 MiB) ioping statistics ---
14 requests completed in 52.9 ms, 56 KiB read, 264 iops,
1.03 MiB/s
generated 15 requests in 14.0 s, 60 KiB, 1 iops, 4.28 KiB/s
min/avg/max/mdev = 2.83 ms / 3.78 ms / 4.68 ms / 874.0 us
[xtrnaw7@t540p /var/tmp/jwm/sbin]$
[xtrnaw7@t540p
/var/tmp/jwm/sbin]$ sudo ./ioping -c 5 -C /dev/dm-0
4 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=1 time=2.89 ms (warmup)
4 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=2 time=2.99 ms
4 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=3 time=219.3 us
4 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=4 time=14.0 us
4 KiB <<< /dev/dm-0 (block device 46.6
GiB): request=5 time=3.00 ms
--- /dev/dm-0 (block device 46.6 GiB) ioping
statistics ---
4 requests completed in 6.22 ms, 16 KiB read, 642
iops, 2.51 MiB/s
generated 5 requests in 4.00 s, 20 KiB, 1 iops,
5.00 KiB/s
min/avg/max/mdev = 14.0 us / 1.56 ms / 3.00 ms /
1.44 ms
[xtrnaw7@t540p /var/tmp/jwm/sbin]$
[xtrnaw7@t540p /var/tmp/jwm/sbin]$ sudo ./ioping
-c 15 /dev/sda1
4 KiB <<< /dev/sda1 (block device 477
MiB): request=1 time=4.53 ms (warmup)
4 KiB <<< /dev/sda1 (block device 477
MiB): request=2 time=4.65 ms
4 KiB <<< /dev/sda1 (block device 477
MiB): request=3 time=2.85 ms
4 KiB <<< /dev/sda1 (block device 477
MiB): request=4 time=4.66 ms
4 KiB <<< /dev/sda1 (block device 477
MiB): request=5 time=2.95 ms
4 KiB <<< /dev/sda1 (block device 477
MiB): request=6 time=4.66 ms
4 KiB <<< /dev/sda1 (block device 477
MiB): request=7 time=2.89 ms (fast)
4 KiB <<< /dev/sda1 (block device 477
MiB): request=8 time=4.63 ms (slow)
4 KiB <<< /dev/sda1 (block device 477
MiB): request=9 time=2.96 ms
4 KiB <<< /dev/sda1 (block device 477
MiB): request=10 time=4.67 ms (slow)
4 KiB <<< /dev/sda1 (block device 477
MiB): request=11 time=2.83 ms (fast)
4 KiB <<< /dev/sda1 (block device 477
MiB): request=12 time=4.68 ms (slow)
4 KiB <<< /dev/sda1 (block device 477
MiB): request=13 time=2.91 ms (fast)
4 KiB <<< /dev/sda1 (block device 477
MiB): request=14 time=4.62 ms (slow)
4 KiB <<< /dev/sda1 (block device 477
MiB): request=15 time=2.95 ms
--- /dev/sda1 (block device 477 MiB) ioping
statistics ---
14 requests completed in 52.9 ms, 56 KiB read,
264 iops, 1.03 MiB/s
generated 15 requests in 14.0 s, 60 KiB, 1 iops,
4.28 KiB/s
min/avg/max/mdev = 2.83 ms / 3.78 ms / 4.68 ms /
874.0 us
[xtrnaw7@t540p /var/tmp/jwm/sbin]$
iotop is a top like tool to monitor the I/O for
processes.
"
IOzone is a filesystem benchmark tool. The benchmark
generates and measures a variety of file operations. Iozone has
been ported to many machines and runs under many operating
systems.
Iozone is useful for performing a broad
filesystem analysis of a vendor’s computer platform."
iozone usage
[xtrnaw7@t15g /var/tmp/jwm/src]$ ../bin/iozone
-h
iozone: help mode
Usage: iozone [-s filesize_kB] [-r
record_size_kB] [-f [path]filename] [-h]
[-i test] [-E] [-p] [-a] [-A] [-z] [-Z] [-m] [-M] [-t
children]
[-l min_number_procs] [-u max_number_procs] [-v] [-R] [-x]
[-o]
[-d microseconds] [-F path1 path2...] [-V pattern] [-j
stride]
[-T] [-C] [-B] [-D] [-G] [-I] [-H depth] [-k depth] [-U
mount_point]
[-S cache_size] [-O] [-L cacheline_size] [-K] [-g
maxfilesize_kB]
[-n minfilesize_kB] [-N] [-Q] [-P start_cpu] [-e] [-c] [-b
Excel.xls]
[-J milliseconds] [-X write_telemetry_filename] [-w] [-W]
[-Y read_telemetry_filename] [-y minrecsize_kB] [-q
maxrecsize_kB]
[-+u] [-+m cluster_filename] [-+d] [-+x multiplier] [-+p # ]
[-+r] [-+t] [-+X] [-+Z] [-+w percent dedupable] [-+y
percent_interior_dedup]
[-+C percent_dedup_within] [-+a zero_pct] [-+Q dedup
granule size]
[-+M dedup+compress flag ] [-+e Enable sparse files
-a Auto mode
-A Auto2 mode
-b Filename Create Excel worksheet file
-B Use mmap() files
-c Include close in the timing calculations
-C Show bytes transferred by each child in throughput
testing
-d # Microsecond delay out of barrier
-D Use msync(MS_ASYNC) on mmap files
-e Include flush (fsync,fflush) in the timing
calculations
-E Run extension tests
-f filename to use
-F filenames for each process/thread in throughput
test
-g # Set maximum file size (in kBytes) for auto mode
(or #m or #g)
-G Use msync(MS_SYNC) on mmap files
-h help
-H # Use POSIX async I/O with # async operations
-i # Test to run (0=write/rewrite, 1=read/re-read,
2=random-read/write
3=Read-backwards, 4=Re-write-record, 5=stride-read,
6=fwrite/re-fwrite
7=fread/Re-fread, 8=random_mix, 9=pwrite/Re-pwrite,
10=pread/Re-pread
11=pwritev/Re-pwritev, 12=preadv/Re-preadv)
-I Use VxFS VX_DIRECT, O_DIRECT,or O_DIRECTIO for all
file operations
-j # Set stride of file accesses to (# * record size)
-J # milliseconds of compute cycle before each I/O
operation
-k # Use POSIX async I/O (no bcopy) with # async
operations
-K Create jitter in the access pattern for readers
-l # Lower limit on number of processes to run
-L # Set processor cache line size to value (in bytes)
-m Use multiple buffers
-M Report uname -a output
-n # Set minimum file size (in kBytes) for auto mode
(or #m or #g)
-N Report results in microseconds per operation
-o Writes are synch (O_SYNC)
-O Give results in ops/sec.
-p Purge on
-P # Bind processes/threads to processors, starting
with this cpu
-q # Set maximum record size (in kBytes) for auto mode
(or #m or #g)
-Q Create offset/latency files
-r # record size in Kb
or -r #k .. size in kB
or -r #m .. size in MB
or -r #g .. size in GB
-R Generate Excel report
-s # file size in Kb
or -s #k .. size in kB
or -s #m .. size in MB
or -s #g .. size in GB
-S # Set processor cache size to value (in kBytes)
-t # Number of threads or processes to use in
throughput test
-T Use POSIX pthreads for throughput tests
-u # Upper limit on number of processes to run
-U Mount point to remount between tests
-v version information
-V # Verify data pattern write/read
-w Do not unlink temporary file
-W Lock file when reading or writing
-x Turn off stone-walling
-X filename Write telemetry file. Contains lines with
(offset reclen compute_time) in ascii
-y # Set minimum record size (in kBytes) for auto mode
(or #m or #g)
-Y filename Read telemetry file. Contains lines
with (offset reclen compute_time) in ascii
-z Used in conjunction with -a to test all possible
record sizes
-Z Enable mixing of mmap I/O and file I/O
-+b #,# burst size (KB),sleep between burst
(mili-second)
-+E Use existing non-Iozone file for read-only testing
-+F Truncate file before write in thread_mix_test
-+J Include think time (-j #) in throughput calculation
-+K Sony special. Manual control of test 8.
-+m Cluster_filename Enable Cluster
testing
-+d File I/O diagnostic mode. (To troubleshoot a
broken file I/O subsystem)
-+u Enable CPU utilization output (Experimental)
-+x # Multiplier to use for incrementing file and record
sizes
-+p # Percentage of mix to be reads
-+r Enable O_RSYNC|O_SYNC for all testing.
-+t Enable network performance test. Requires -+m
-+n No retests selected.
-+k Use constant aggregate data set size.
-+q Delay in seconds between tests.
-+l Enable record locking mode.
-+L Enable record locking mode, with shared file.
-+B Sequential mixed workload.
-+D Enable O_DSYNC mode.
-+A # Enable madvise. 0 = normal, 1=random,
2=sequential
3=dontneed, 4=willneed
-+N Do not truncate existing files on sequential writes.
-+S # Dedup-able data is limited to sharing within each
numerically
identified file set.
-+W # Add this value to the child thread ID, so that
additional files
can be added while maintaining the proper dedupability with
previously
existing files that are within the same seed group (-+S).
-+V Enable shared file. No locking.
-+X Enable short circuit mode for filesystem testing ONLY
ALL Results are NOT valid in this mode.
-+Z Enable old data set compatibility mode. WARNING..
Published
hacks may invalidate these results and generate bogus, high
values for results.
-+w ## Percent of dedup-able data in buffers.
-+y ## Percent of dedup-able within & across files in
buffers.
-+C ## Percent of dedup-able within & not across files
in buffers.
-+a ## Percent of data that is compressible.
-+Q ## Dedup granule size.
-+H Hostname Hostname of the PIT server.
-+P Service Service of the PIT
server.
-+z Enable latency histogram logging.
-+M Enable Dedup+compress option. (Experimental).
-+R Enable iozone to take filenames from a file.
-+e Enable sparse instead of within and across dedup regions
[xtrnaw7@t15g /var/tmp/jwm/src]$
"
IPAudit monitors network activity on a network by host,
protocol and port."
ipaudit usage
[xtrnaw7@t540p /var/tmp/jwm/src]$ ../sbin/ipaudit
Usage: ipaudit [OPTIONS]
[interface[:interface[:interface..]]]
Read and record info on ip connections and optionally
dump packets to file.
-b
- Write output in binary format (experimental).
-c npacket - Only read in
specific number of ip packets.
-d
- Turn on debugging output.
-e
- Write out ethernet addresses.
-f filterstr - Use pcap filters (see
tcpdump).
-g config - Read config
file (instead of default).
-i pidfile - Write process id
to file.
-l ip-range - Order output ip
address pairs by ip range.
-m
- Do not turn on promiscuous mode.
-o outfile - Place output in
'outfile'. Default is stdout.
-p string - Dump only
selected ip protocols and ports.
string format -p n:n:n,p,p:n where
n is protocol number
and p is port number (only for
protocols 6 (tcp) and 17 (udp).
-q
- Output in SQL format for direct database input.
-r readfile - Read packets from
pcap format file,
you don't need interface with this option.
-s nlen -
Dump first <nlen> bytes of each packet (default 96,
min 68).
-t
- Write out connection start and stop times.
-u
- Write out times using GMT instead of local time.
-v
- Print version and exit..
-w writefile - Dump selected packets to
pcap format file "writefile".
-x program - Run program when
done.
-z conf-opt - Read config file
option from command line.
-A all[,lim] - Dump all packets to pcap
format file "all".
Limit number of packets to "lim" (optional).
-C
- Preserve ICMP type/code in source port field.
-D period - Daemon
mode.
-E nsec -
Stop after nsec seconds.
-G
- Do not read config file.
-H
- Store hosts only (protocol, ports set to zero).
-I ipaddr - Dump all
packets with 'ipaddr'.
-L hostportlimit,hostlimit
- Max number of hostport,host packets recorded.
-M
- Allow double logging of packets which pass between
multiple interfaces.
-N nhashslot - Number of hash slots.
-O loc,rem - Local/remote
host overflow ip.
-P
- Display name of host running ipaudit as part of
output.
-R
n
- If using -w, save every n'th unselected packet.
-S
- Print ip addresses in short format (no leading 0s).
-T
- Write out connection start and stop dates and times.
-V vlanid - Limit to
packets belonging to a specific VLAN (802.1q tagging).
-W dumplimit - Limit to number of packets
written with -w command.
Example:
ipaudit -w dump.fil -p1:2:6,21,23 eth0
Write only packets with protocols 1 (icmp), 2 (?), and 6
(tcp)
and tcp ports 21 and 23 (ftp,telnet).
[xtrnaw7@t540p /var/tmp/jwm/src]$
"
ipband is a pcap based IP traffic monitor. It tallies
per-subnet traffic and bandwidth usage and starts detailed
logging if specified threshold for the specific subnet is
exceeded. If traffic has been high for a certain period of time,
the report for that subnet is generated which can be appended to
a file or e-mailed. When bandwidth usage drops below the
threshold, detailed logging for the subnet is stopped and memory
is freed.
This utility could be handy in a limited bandwidth WAN
environment (frame relay, ISDN etc. circuits) to pinpoint
offending traffic source if certain links become saturated to
the point where legitimate packets start getting dropped.
It also can be used to monitor internet connection when
specifying the range of local ip addresses (to avoid firing
reports about non-local networks)."
ipband usage
[xtrnaw7@t540p /var/tmp/jwm]$ sbin/ipband -h
Usage: ipband [OPTIONS] interface
-a
- Averaging period in seconds. Default is 60.
-A
- Include accumulated threshold exceeded time
since ipband start in the report.
-b kBps -
Default bandwidth threshold in kBytes.
per sec. Default is 7 kBps i.e 56 kbps.
-c filename - Read configuration
file. Default is /etc/ipaband.conf.
-C
- Ignore configuration file
-d level -
Debug level: 0 - no debuging; 1 - summary;
2 - subnet stats; 3 - all packets captured.
-f filterstr - Use pcap filters (see
tcpdump).
-F
- Fork and run in background.
-h
- Print this help.
-J number - Packet
length adjustment in bytes.
-l filename - E-mail report
footer file.
-L ip-range - Range of local ip
addresses.
-m maskbuts - Set number of
network mask bits (1-32)
for subnet traffic aggregation.
Default is 24 (255.255.255.0).
-M email addr - Mail report to given
addresses.
-o filename - Subnet report
output file. Default is
ipband.txt in current directory.
-w filename - HTML report output
file. Default is
ipband.html in current directory.
-P
- Don't use promiscuous mode on network interface.
-r
- Reporting period - number of seconds
banwidth threshold may be exceeded before
it should be reported. Default is 300.
-t number - Limit
report to a given number of connections
with highest byte count. Default is no limit.
-T string - MTA
command string for mailing reports. Default is
"/usr/sbin/sendmail -t -oi".
-v
- Print version and exit.
Example:
ipband eth0 -f "net 10.10.0.0/16" -m 24 -a 300 -r
900
Will capture packets from/to ip
addresses matching
10.10.0.0/255.255.0.0, tally traffic by
the third octet,
calculate bandwidth utilization every 5
minutes and report
per host traffic every 15 minutes.
[xtrnaw7@t540p /var/tmp/jwm]$
iperf is a tool for active measurements
of the maximum achievable bandwidth on IP networks. It supports
tuning of various parameters related to timing, protocols, and
buffers. For each test it reports the bandwidth, loss, and other
parameters.
There is only a precompiled version of the old
iperf
in the archive that should work on most of the Linux
distributions (iperf does not compile out of the box now on most
Linux distributions).
In addition there are now also binaries for iperf for Solaris
(x86 and SPARC) and AIX in the archive (see
here).
see also
iperf3.
iperf usage
[JWM session] [xtrnaw7@centos69 jwm]$ bin1/iperf -h
Usage: iperf [-s|-c host] [options]
iperf
[-h|--help] [-v|--version]
Client/Server:
-f, --format
[kmKM] format to report: Kbits, Mbits, KBytes,
MBytes
-i, --interval
# seconds between
periodic bandwidth reports
-l,
--len
#[KM] length of buffer to read or write
(default 8 KB)
-m,
--print_mss
print TCP maximum segment size (MTU - TCP/IP header)
-o, --output
<filename> output the report or error message to this
specified file
-p, --port
# server port to
listen on/connect to
-u,
--udp
use UDP rather than TCP
-w, --window
#[KM] TCP window size (socket buffer size)
-B, --bind
<host> bind to <host>, an interface
or multicast address
-C,
--compatibility for use with
older versions does not sent extra msgs
-M,
--mss
# set TCP maximum
segment size (MTU - 40 bytes)
-N,
--nodelay
set TCP no delay, disabling Nagle's Algorithm
-V,
--IPv6Version Set
the domain to IPv6
Server specific:
-s,
--server
run in server mode
-U,
--single_udp
run in single threaded UDP mode
-D,
--daemon
run the server as a daemon
Client specific:
-b, --bandwidth #[KM]
for UDP, bandwidth to send at in bits/sec
(default 1 Mbit/sec, implies -u)
-c, --client
<host> run in client mode, connecting to
<host>
-d,
--dualtest
Do a bidirectional test simultaneously
-n,
--num
#[KM] number of bytes to transmit (instead
of -t)
-r,
--tradeoff
Do a bidirectional test individually
-t, --time
# time in seconds
to transmit for (default 10 secs)
-F, --fileinput <name>
input the data to be transmitted from a file
-I,
--stdin
input the data to be transmitted from stdin
-L, --listenport
# port to receive
bidirectional tests back on
-P, --parallel
# number of
parallel client threads to run
-T,
--ttl
# time-to-live,
for multicast (default 1)
-Z, --linux-congestion <algo>
set TCP congestion control algorithm (Linux only)
Miscellaneous:
-x, --reportexclude [CDMSV]
exclude C(connection) D(data) M(multicast) S(settings)
V(server) reports
-y, --reportstyle
C report as a Comma-Separated
Values
-h,
--help
print this message and quit
-v,
--version
print version information and quit
[KM] Indicates options that support a K or M
suffix for kilo- or mega-
The TCP window size option can be set by the
environment variable
TCP_WINDOW_SIZE. Most other options can be set by
an environment variable
IPERF_<long option name>, such as
IPERF_BANDWIDTH.
Report bugs to
<iperf-users@lists.sourceforge.net>
[JWM session] [xtrnaw7@centos69 jwm]$
iperf3 is a tool for active measurements of the
maximum achievable bandwidth on IP networks. It supports tuning
of various parameters related to timing, protocols, and buffers.
For each test it reports the bandwidth, loss, and other
parameters.
iperf3 usage
[xtrnaw7@t15g /var/tmp/jwm/src]$ ../bin/iperf3 -h
Usage: iperf3 [-s|-c host] [options]
iperf3 [-h|--help]
[-v|--version]
Server or Client:
-p, --port
# server
port to listen on/connect to
-f, --format [kmgtKMGT] format to report:
Kbits, Mbits, Gbits, Tbits
-i, --interval
# seconds
between periodic throughput reports
-I, --pidfile
file write PID
file
-F, --file
name
xmit/recv the specified file
-A, --affinity n/n,m
set CPU affinity
-B, --bind <host>[%<dev>] bind to the
interface associated with the address <host>
(optional <dev> equivalent to `--bind-dev
<dev>`)
--bind-dev
<dev>
bind to the network interface with SO_BINDTODEVICE
-V,
--verbose
more detailed output
-J,
--json
output in JSON format
--logfile
f
send output to a log file
--forceflush
force flushing output at every interval
--timestamps<=format>
emit a timestamp at the start of each output line
(optional "=" and format string as per strftime(3))
--rcv-timeout
#
idle timeout for receiving data (default 120000 ms)
--snd-timeout
#
timeout for unacknowledged TCP data
(in ms, default is system settings)
-d,
--debug[=#]
emit debugging output
(optional optional "=" and debug level: 1-4. Default is 4 -
all messages)
-v,
--version
show version information and quit
-h,
--help
show this message and quit
Server specific:
-s,
--server
run in server mode
-D,
--daemon
run the server as a daemon
-1,
--one-off
handle one client connection then exit
--server-bitrate-limit #[KMG][/#]
server's total bit rate limit (default 0 = no limit)
(optional slash and number of secs interval for averaging
total data rate. Default is 5 seconds)
--idle-timeout
#
restart idle server after # seconds in case it
got stuck (default - no timeout)
--rsa-private-key-path path to the
RSA private key used to decrypt
authentication credentials
--authorized-users-path path to the
configuration file containing user
credentials
--time-skew-threshold time
skew threshold (in seconds) between the server
and client during the authentication process
Client specific:
-c, --client <host>[%<dev>] run in client
mode, connecting to <host>
(option <dev> equivalent to `--bind-dev <dev>`)
--sctp
use SCTP rather than TCP
-X, --xbind
<name> bind
SCTP association to links
--nstreams
# number of
SCTP streams
-u,
--udp
use UDP rather than TCP
--connect-timeout
# timeout for control
connection setup (ms)
-b, --bitrate #[KMG][/#] target bitrate in
bits/sec (0 for unlimited)
(default 1 Mbit/sec for UDP, unlimited for TCP)
(optional slash and packet count for burst mode)
--pacing-timer #[KMG] set the
timing for pacing, in microseconds (default 1000)
--fq-rate
#[KMG]
enable fair-queuing based socket pacing in
bits/sec (Linux only)
-t, --time
# time in
seconds to transmit for (default 10 secs)
-n, --bytes
#[KMG] number of bytes to transmit
(instead of -t)
-k, --blockcount #[KMG] number of blocks
(packets) to transmit (instead of -t or -n)
-l, --length
#[KMG] length of buffer to read or write
(default 128 KB for TCP, dynamic or 1460 for UDP)
--cport
<port> bind to a specific client
port (TCP and UDP, default: ephemeral port)
-P, --parallel
# number of
parallel client streams to run
-R,
--reverse
run in reverse mode (server sends, client receives)
--bidir
run in bidirectional mode.
Client and server send and receive data.
-w, --window
#[KMG] set send/receive socket buffer
sizes
(indirectly sets TCP window size)
-C, --congestion <algo> set TCP
congestion control algorithm (Linux and FreeBSD only)
-M, --set-mss
# set
TCP/SCTP maximum segment size (MTU - 40 bytes)
-N,
--no-delay
set TCP/SCTP no delay, disabling Nagle's Algorithm
-4,
--version4
only use IPv4
-6,
--version6
only use IPv6
-S, --tos
N
set the IP type of service, 0-255.
The usual prefixes for octal and hex can be used,
i.e. 52, 064 and 0x34 all specify the same value.
--dscp N or --dscp val set the IP
dscp value, either 0-63 or symbolic.
Numeric values can be specified in decimal,
octal and hex (see --tos above).
-L, --flowlabel
N set the
IPv6 flow label (only supported on Linux)
-Z,
--zerocopy
use a 'zero copy' method of sending data
-O, --omit
N
perform pre-test for N seconds and omit the pre-test
statistics
-T, --title
str
prefix every output line with this string
--extra-data
str
data string to include in client and server JSON
--get-server-output get
results from server
--udp-counters-64bit
use 64-bit counters in UDP test packets
--repeating-payload use
repeating pattern in payload, instead of
randomized payload (like in iperf2)
--dont-fragment
set IPv4 Don't Fragment flag
--username
username for authentication
--rsa-public-key-path path to
the RSA public key used to encrypt
authentication credentials
[KMG] indicates options that support a K/M/G suffix for
kilo-, mega-, or giga-
iperf3 homepage at: https://software.es.net/iperf/
Report bugs to:
https://github.com/esnet/iperf
[xtrnaw7@t15g /var/tmp/jwm/src]$
"
ipscan - the Angry IP scanner is fast and friendly
network scanner for Windows, Linux, and Mac. It is very
extensible, allowing it to be used for very wide range of
purposes, with the primary goal of being useful to network
administrators."
ipscan usage
xtrnaw7@t540p /var/tmp/jwm]$ bin1/ipscan -h
Unknown option: h
Pass the following arguments:
[options] <feeder> <exporter>
Where <feeder> is one of:
-f:range <Start IP> <End IP>
-f:random <Base IP> <IP Mask> <Count>
-f:file <File>
<exporter> is one of:
-o filename.txt Text
file (txt)
-o filename.csv
Comma-separated file (csv)
-o filename.xml XML
file (xml)
-o filename.lst IP:Port
list (lst)
And possible [options] are (grouping allowed):
-s start scanning automatically
-q quit after exporting the results
-a append to the file, do not overwrite
iptraf is another network bandwith monitoring tool.
iptraf usage
[xtrnaw7@t540p /var/tmp/jwm]$ sudo ./sbin/iptraf -h
Syntax:
iptraf [ -f ] [ { -i iface | -g | -d
iface | -s iface | -z iface |
-l iface } [ -t timeout ] [ -B ] [ -L logfile ] [-I
interval] ]
Issue the iptraf command with no parameters for menu-driven
operation.
These options can also be supplied to the command:
-i iface - start the IP traffic monitor
(use "-i all" for all interfaces)
-g -
start the general interface statistics
-d iface - start the detailed statistics
facility on an interface
-s iface - start the TCP and UDP monitor
on an interface
-z iface - shows the packet size counts on
an interface
-l iface - start the LAN station monitor
("-l all" for all LAN interfaces)
-B -
run in background (use only with one of the above
parameters)
-t timeout - when used with one of the above
parameters, tells
the facility to run only for the specified number of
minutes (timeout)
-L logfile - specifies an alternate log file for any
direct invocation
of a facility from the command line. The log is placed
in
/var/log/iptraf if path is not specified.
-I interval - specifies the log interval for all facilities
except the IP
traffic monitor. Value is in minutes.
-f -
clear all locks and counters. Use with great caution.
Normally used to recover from an abnormal termination.
IPTraf 3.0.0 Copyright (c) Gerard Paul Java 1997-2004
[xtrnaw7@t540p /var/tmp/jwm]$
iptraf-ng is another network bandwith monitoring tool.
"IPTraf-ng is a console-based network monitoring program for Linux that
displays information about IP traffic. It returns such information as:
Current TCP connections
UDP, ICMP, OSPF, and other types of IP packets
Packet and byte counts on TCP connections
IP, TCP, UDP, ICMP, non-IP, and other packet and byte counts
TCP/UDP counts by ports
Packet counts by packet sizes
Packet and byte counts by IP address
Interface activity
Flag statuses on TCP packets
LAN station statistics
iptraf-ng usage
[xtrnaw7@t540p /var/tmp/jwm]$ sudo ./sbin/iptraf-ng -h
usage: iptraf-ng [options]
or: iptraf-ng [options] -B [-i
<iface> | -d <iface> | -s <iface> | -z
<iface> | -l <iface> | -g]
-h,
--help
show this help message
-i
<iface>
start the IP traffic monitor (use '-i all' for all
interfaces)
-d
<iface>
start the detailed statistics facility on an interface
-s
<iface>
start the TCP and UDP monitor on an interface
-z
<iface>
shows the packet size counts on an interface
-l
<iface>
start the LAN station monitor (use '-l all' for all LAN
interfaces)
-g
start the general interface statistics
-B
run in background (use only with one of the above parameters
-f
clear all locks and counters
-t
<n>
run only for the specified <n> number of minutes
-L
<logfile>
specifies an alternate log file
[xtrnaw7@t540p /var/tmp/jwm]$
"
IPTState is a top-like interface to your
netfilter connection-tracking table.
Using iptstate you interactively watch where traffic crossing
your netfilter/iptables firewall is going, sort by various
criteria, limit the view by various criteria. But it doesn't
stop there: as of version 2.2.0 you can even delete states from
the table!"
iptstate usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/src]$ sudo
../sbin/iptstate -h
loop: 104
IPTables State Top Version 2.2.6
Usage: iptstate [<options>]
-c, --no-color
Toggle color-code by protocol
-C, --counters
Toggle display of bytes/packets counters
-d, --dst-filter <IP>
Only show states with a destination of
<IP>
Note, that this must be an IP, hostname
matching is not yet supported.
-D --dstpt-filter <port>
Only show states with a destination port
of <port>
-h, --help
This help message
-l, --lookup
Show hostnames instead of IP addresses.
Enabling this will also enable
-L to prevent an ever-growing number of
DNS requests.
-m, --mark-truncated
Mark truncated hostnames with a '+'
-o, --no-dynamic
Toggle dynamic formatting
-L, --no-dns
Skip outgoing DNS lookup states
-f, --no-loopback
Filter states on loopback
-p, --no-scroll
No scrolling (don't use a "pad")
-r, --reverse
Reverse sort order
-R, --rate <seconds>
Refresh rate, followed by rate in seconds
Note: For statetop, not applicable for -s
-1, --single
Single run (no curses)
-b, --sort <column>
This determines what column to sort by.
Options:
d: Destination IP (or Name)
p: Protocol
s: State
t: TTL
b: Bytes
P: Packets
To sort by Source IP (or Name), don't use
-b.
Note that bytes/packets are only
available when supported in the kernel,
and enabled with -C
-s, --src-filter <IP>
Only show states with a source of
<IP>
Note, that this must be an IP, hostname
matching is not yet supported.
-S, --srcpt-filter <port>
Only show states with a source port of
<port>
-t, --totals
Toggle display of totals
See man iptstate(8) or the interactive help for more
information.
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/src]$
itop can be used to monitor the interrupts of a system in
realtime.
Sample itop output
IRQs/Second
Device
(IRQ)
CPU0
CPU1
TOTAL
IO-APIC-edge timer (
0):
2472
0
2472
IO-APIC-edge i8042 (
1):
0
0
0
IO-APIC-edge rtc0 (
8):
0
0
0
IO-APIC-fasteoi acpi (
9):
0
0
0
IO-APIC-edge i8042 (
12):
0
0
0
IO-APIC-edge ata_pii (
14):
0
0
0
IO-APIC-edge ata_pii (
15):
0
0
0
IO-APIC-fasteoi uhci (
16):
90
0
90
IO-APIC-fasteoi uhci (
17):
0
0
0
IO-APIC-fasteoi uhci (
18):
0
0
0
IO-APIC-fasteoi ehci (
19):
0
0
0
IO-APIC-fasteoi uhci (
20):
0
0
0
IO-APIC-fasteoi uhci (
21):
0
0
0
IO-APIC-fasteoi ehci (
22):
0
0
0
PCI-MSI-edge PCIe PM (
40):
0
0
0
PCI-MSI-edge PCIe PM (
41):
0
0
0
PCI-MSI-edge PCIe PM (
42):
0
0
0
PCI-MSI-edge PCIe PM (
43):
0
0
0
PCI-MSI-edge PCIe PM (
44):
0
0
0
PCI-MSI-edge PCIe PM (
45):
0
0
0
PCI-MSI-edge eth0 (
46):
1
2
3
PCI-MSI-edge ahci (
47):
0
0
0
PCI-MSI-edge iwl4965 (
48):
12
0
12
PCI-MSI-edge snd_hda (
49):
0
0
0
Function call interr
(CAL):
7
2
9
(ERR):
0
0
0
IRQ work interrupts
(IWI):
0
0
0
Local timer interrup
(LOC):
1273
6318
7591
Machine check except
(MCE):
0
0
0
Machine check polls
(MCP):
0
0
0
(MIS):
0
0
0
Non-maskable interru
(NMI):
0
0
0
Performance monitori
(PMI):
0
0
0
Rescheduling interru
(RES):
63
38
101
APIC ICR read retrie
(RTR):
0
0
0
Spurious interrupts
(SPU):
0
0
0
Threshold APIC inter
(THR):
0
0
0
TLB shootdowns
(TLB):
1
4
5
Thermal event interr
(TRM):
0
0
0
Usage:
[xtrnaw7@t540p /var/tmp/jwm]$ scripts/jdiskreport.sh
-v
[03.01.2017 08:18 ] ### jdiskreport.sh started at Tue
Jan 3 08:18:47 CET 2017
[03.01.2017 08:18 ] ### The logfile used is
/var/tmp/jdiskreport.sh.log
[03.01.2017 08:18 ] INFO: SCRIPTNAME is "jdiskreport.sh"
[03.01.2017 08:18 ] INFO: SCRIPTDIR is "scripts"
[03.01.2017 08:18 ] INFO: REAL_SCRIPTNAME is
"/var/tmp/jwm/scripts/jdiskreport.sh"
[03.01.2017 08:18 ] INFO: REAL_SCRIPTDIR is
"/var/tmp/jwm/scripts"
[03.01.2017 08:18 ] INFO: WORKING_DIR is "/var/tmp/jwm"
[03.01.2017 08:18 ] INFO: RUNNING_IN_TERMINAL_SESSION is "0"
(0 = yes, 1 = no)
[03.01.2017 08:18 ] INFO: CUR_USER_ID is "1000"
[03.01.2017 08:18 ] INFO: CUR_USER_NAME is "xtrnaw7"
[03.01.2017 08:18 ] INFO: CUR_GROUP_ID is "1000"
[03.01.2017 08:18 ] INFO: CUR_GROUP_NAME is "xtrnaw7"
[03.01.2017 08:18 ] INFO: ACTION is "status"
[03.01.2017 08:18 ] INFO: Searching the jar file
jdiskreport*.jar in /var/tmp/jwm ....
[03.01.2017 08:18 ] jar file found is
/var/tmp/jwm/jdiskreport/jdiskreport-1.4.1.jar
jnettop is a traffic visualiser, which captures traffic
going through the host it is running from and displays streams
sorted by bandwidth they use.
jnettop usage
[xtrnaw7@t540p /var/tmp/jwm/src/jnettop-0.13.0]$
./jnettop -h
Usage: jnettop [-hv] [-i interface] [-d filename]
-h,
--help
display this help message
-v,
--version
display version information
-b,
--bit-units show
BPS in bits per second, not bytes per second
-c, --content-filter disable
content filtering
-d, --debug filename write
debug information into file (or syslog)
--display
type type of
display (curses, text, uia)
-f, --config-file name reads
configuration from file. defaults to ~/.jnettop
--format
format list of
fields to list in text output
-i, --interface name capture
packets on specified interface
--local-aggr
arg set local
aggregation to none/host/port
-n,
--no-resolver disable
resolving of addresses
-p,
--promiscuous enable promisc
mode on the devices
--remote-aggr
arg set remote aggregation to
none/host/port
-s, --select-rule rule selects one of the
rules defined in config file
by it's name
-t, --timeout
sec timeout in seconds after
which jnettop ends (text display)
-x, --filter
rule allows for specification
of custom filtering rule
this follows tcpdump(1) syntax. don't forget to
enclose the filter into quotes when running from shell
Report bugs to <j@kubs.cz>
Format variable can be CSV (comma
separated values), TSV (tab separated values)
or completelly custom format string,
where the following identifiers are subst-
ituted when surrounded by '$':
src, srcname, srcport,
srcbytes, srcpackets, srcbps, srcpps,
dst, dstname, dstport,
dstbytes, dstpackets, dstbps, dstpps,
proto, totalbytes,
totalpackets, totalbps, totalpps, filterdata
example:
jnettop --display text
-t 5 --format CSV
jnettop --display text
-t 5 --format
'$srcname$,$srcport$,$dstname$,$dstport$,$totalbps$'
[xtrnaw7@t540p /var/tmp/jwm/src/jnettop-0.13.0]$
"
Justniffer is a network protocol analyzer that
captures network traffic and produces logs in a customized way,
can emulate Apache web server log files, track response times
and extract all "intercepted" files from the HTTP traffic.
It lets you interactively trace tcp traffic from a live network
or from a previously saved capture file. Justniffer's native
capture file format is libpcap format, which is also the format
used by tcpdump and various other tools. "
justniffer usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/bin]$
./justniffer --help
justniffer 0.5.14
Written by Oreste Notelli <oreste.notelli@plecno.com>
Copyright (c) 2007- 2016 Plecno s.r.l.
Usage:
--help
command line description
-V [ --version
]
version
-f [ --filecap ]
arg
input file in 'tcpdump capture file
format' (e.g. produced by tshark or
tcpdump)
-i [ --interface ]
arg
network interface to listen on (e.g.
eth0, en1, etc.)
-l [ --log-format ]
arg
log format (see FORMAT KEYWORDS). If
missing the CommonLog (apache access
log) format will ne used. See man page
for further infos
It is equivalent to
%source.ip - - [%request.timestamp(%d/%
b/%Y:%T %z)] "%request.line"
%response.code %response.header.content
-length(0) "%request.header.referer()"
"%request.header.user-agent()"
-a [ --append-log-format ]
arg append log
format (see FORMAT KEYWORDS)
to the default apache log format.
-c [ --config ]
arg
configuration file
-U [ --user ]
arg
user to impersonate when executing the
command specified by the "execute"
option
-e [ --execute ]
arg
execute the specified command every
request/response phase
-p [ --packet-filter ]
arg
packet filter (tcpdump filter syntax)
-u [ --unprintable
]
encode as dots (.) unprintable
characters
-t [ --truncated
]
handle truncated streams (not correctly
closed)
-x [ --hex-encode
]
encode unprintable characters as [<char
hexadecimal code>]
-r [ --raw
]
show raw stream. it is a shortcat for
-l %request%response
-n [ --not-found ] arg
(=-)
default "not found" value, default is -
-s [ --max-tcp-streams ] arg (=1024) Max
concurrent tcp streams
-d [ --max-fragmented-ip ] arg (=1024)
Max concurrent fragmented ip host
-F [ --force-read-pcap
]
force the reading of the pcap file
ignoring the snaplen value. WARNING:
could give unexpected results
FORMAT KEYWORDS:
%%
%-
%close.originator
%close.time
%close.timestamp
%close.timestamp2
%connection
%connection.time
%connection.timestamp
%connection.timestamp2
%dest.ip
%dest.port
%idle.time.0
%idle.time.1
%newline
%request
%request.grep
%request.header
%request.header.accept
%request.header.accept-charset
%request.header.accept-encoding
%request.header.accept-language
%request.header.authorization
%request.header.connection
%request.header.content-encoding
%request.header.content-language
%request.header.content-length
%request.header.content-md5
%request.header.cookie
%request.header.grep
%request.header.host
%request.header.keep-alive
%request.header.range
%request.header.referer
%request.header.transfer-encoding
%request.header.user-agent
%request.header.value
%request.header.via
%request.line
%request.method
%request.protocol
%request.size
%request.time
%request.timestamp
%request.timestamp2
%request.url
%response
%response.code
%response.grep
%response.header
%response.header.accept-ranges
%response.header.age
%response.header.allow
%response.header.cache-control
%response.header.connection
%response.header.content-encoding
%response.header.content-language
%response.header.content-length
%response.header.content-md5
%response.header.content-range
%response.header.content-type
%response.header.date
%response.header.etag
%response.header.expires
%response.header.grep
%response.header.keep-alive
%response.header.last-modified
%response.header.pragma
%response.header.server
%response.header.set-cookie
%response.header.transfer-encoding
%response.header.value
%response.header.vary
%response.header.via
%response.header.www-authenticate
%response.line
%response.message
%response.protocol
%response.size
%response.time
%response.time.begin
%response.time.end
%response.timestamp
%response.timestamp2
%session.requests
%session.time
%source.ip
%source.port
%streams
%tab
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/bin]$
justniffer example
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
bin/justniffer -i enp0s25 -a " %response.time"
192.168.1.164 - - [-] "" - 0 "" "" -
192.168.1.164 - - [-] "" - 0 "" "" -
192.168.1.164 - - [17/Nov/2016:20:34:48 +0100] "GET /
HTTP/1.1" 200 0 "" "Wget/1.18 (linux-gnu)" 0.120227
latencytop-gui (GUI) and
latencytop-tui (CLI) are
top like tools to monitor the latency of processes.
Please note that latencytop only works on modern Linux releases.
latencytop-tui screenshot:
latencytop-gui screenshot:
lxtx was developed to streamline an integrated
monitoring of Linux servers.
lxtx replaces vmstat, sar, iostat, nmon, ps, lsof and other
Linux monitoring programs
lxtx usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ lxtx -h
Copyright (c) 2016 Teemstone LLC.
Version : 1.1.12
Usage : lxtx [ -e : System environment ] [ -c Number of
updates(count) ] [ -s Interval of updates(seconds) ] [ -i
Interval of updates(milliseconds) ] [ -a : Turn on all
monitoring items with default value except -S, -m, and -t ]
[ -Z : Log saving mode ] [ -b : Basic performance items On ]
[ -r : Each core performance On ] [ -C Threshold of process
CPU%(unit is 0.001%) ] [ -T Threshold of thread CPU%(unit is
0.001%) ] [ -R Threshold of process RSS(unit is KB) ] [ -g
Length of process command column ] [ -p Number of process
entries ] [ -k : Process creation/termination log On ] [ -f
: Delta of file position On ] [ -F : List all files ] [ -S :
List all sockets ] [ -o Number of port queue entries ] [ -n
Number of network interface entries ] [ -d Number of disk
entries ] [ -m : Delta of filesystem On ] [ -t : Delta of
protocol statistics On ]
[ -e | -v ] System environment. LVM information is
included if -v is used.
[ -H ] Time header Off
[ -c Number of updates(count) ] [ -s
Interval(seconds) | -i Interval(milliseconds) ]
Default value - Count :
Unlimited / Interval : 2 Seconds
[ -b | -B ] Basic performance items On
Show CPU, Memory, Swap
and Virtual memory activities
-B doesn't show data of
steal and scan while -b shows all basic performance data.
[ -r ] List each CPU core performance
[ -C Threshold of process CPU%(unit is 0.001%) ] [ -T
Threshold of Thread CPU%(unit is 0.001%) ] [ -R RSS
Threshold(KB) ]
CPU Threshold, CPU
Threshold of Thread and RSS Threshold are used as a
threshold for selection to display.
Default value - Prcoess
CPU% Threshold : 1 -> 0.001%(List all if -1) / Thread
CPU% Threshold : 1 -> 0.001%(Disabled if 0) / RSS
Threshold : 262144 -> 256MB.
-p option is applied
with default value 24 if -C, -T or -R is used
[ -p Number of process entries ]
Define how many process
entries is displayed. No process collection when 0 is used.
Default value is 24.
* All processes are
displayed if -R is 0 and -p is big enough.
[ -P Format of Process entry, consisting of io, time,
mem, none and ps ]
Define how to show each
process entry. Default includes io, time and mem like "-P
io,time,mem". Space is not allowed like "-P mem, io".
It shows only basic
information such as PID, PPID, User and CPU usage if none is
used like "-P none".
Each entry shows start
time in case of "-P time", and shows memory & IO in case
of "-P mem,io".
Process list is
displayed if ps is used like "-P ps". time and mem options
are available with ps like "-P ps,time,mem".
[ -k ] Process creation/termination log On
-p must be greater than
0. Default is 24 if not specified
* It won't be displayed
if creation and termination of a process happen within the
interval, even if -k is used
[ -f ] Delta of file position On or [ -F ] List all
files
Delta of file position
monitoring On if -f used
List all files opened
by processes if -F used (fd is listed when position change
detected if -F is not used)
[ -S ] List all sockets
List all sockets opened
by processes if -S used
-f(or F) is required
for this option if -p is used(monitoring mode).
[ -g Command column length of processes ]
Arguments are displayed
together if they exist, otherwise only command is displayed
Default value is
64.(Command only if 0)
[ -o Number of port queue entries ]
Define how many tcp/udp
port queue entries is displayed. No port collection when 0
is used. Default value is 4.
[ -G Owner process name length ]
Define length of owner
process name of each port to display. Default and maximum is
64.
[ -n Number of network interface entries ]
Define how many network
interface entries is displayed. No network interface
collection when 0 is used. Default value is 4.
[ -d Number of disk entries ]
Define how many disk
entries is displayed. No disk collection when 0 is used.
Default value is 8.
[ -m ] Delta of filesystem On
Delta of filesystem
monitoring On if -m used
[ -t ] Delta of protocol statistics On
Delta of protocol
statistics monitoring On if -t used
[ -a ] Apply -p 24(24 Process entries) -k(Process
creation/termination) -f(Delta of file position) -o 4(Port
queue) -n 4(Network I/F) -d 8(Disk)
Exclude -S(sockets),
-m(delta of protocol statistics), and -t(delta of
filesystem)
[ -Z ] log saving mode.
Example) In order to list every process entry with
process start time and memory allocated : lxtx -P
ps,time,mem
Example) In order to list every process entry with
socket and file opened : lxtx -P ps -FS (or lxtx -FSP ps)
Example) In order to monitor only top 10 processes
and top 4 disks every single second : lxtx -p 10 -T 0 -d 4
-i 1000
-p
10 : 10 entry count to display
top 10 processes
-T
0 : Thread performance
is not included
-d
4 : 4 entry count to
display top 4 disks
-i
1000 : Interval is 1000ms in order to
display every single second
Example) In order to monitor processes consuming 10%
CPU or more : lxtx -C 10000
-C
10000 : Since unit is 0.001%, 10000 means 10%
Monitoring interval is set to 2 seconds by default because
-s or -i is not specified
Ex) lxtx -d 10 -v : Top 10 disks by
default interval(2 seconds). In addition, VG and LV entries
are displayed by option -v.
Ex) lxtx -o 10 -n 4 : Top 10 port queues and
top 4 network interfaces by default interval(2 seconds).
Ex) lxtx -p 10 -f -k -s 1 : Top 10 processes with
file position delta and creation/termination log by 1 second
interval.
Ex) lxtx -b -d 5 : Basic
performance and top 5 disk.
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
"
lynis is a security auditing tool for UNIX derivatives
like Linux, macOS, BSD, Solaris, AIX, and others. It performs an
in-depth security scan."
Note:
It's recommended to run lynis as root. To do that you must
change the owner of the directory lynis and all files and sub
directories to root, e.g.
cd ${JWM_DIR}
chown -R root:root lynis-*
lynis usage
[xtrnaw7@t15g /var/tmp/jwm/lynis]$ ./lynis -h
[ Lynis 3.0.8 ]
################################################################################
Lynis comes with ABSOLUTELY NO WARRANTY. This is free
software, and you are
welcome to redistribute it under the terms of the GNU
General Public License.
See the LICENSE file for details about using this
software.
2007-2021, CISOfy - https://cisofy.com/lynis/
Enterprise support available (compliance, plugins,
interface and tools)
################################################################################
[+] Initializing program
------------------------------------
Usage: lynis command [options]
Command:
audit
audit
system
: Perform local security scan
audit system
remote <host> : Remote security scan
audit dockerfile
<file> : Analyze
Dockerfile
show
show
: Show all commands
show
version
: Show Lynis version
show
help
: Show help
update
update
info
: Show update details
Options:
Alternative system audit modes
--forensics
: Perform forensics on a running or mounted system
--pentest
: Non-privileged, show points of interest for pentesting
Layout options
--no-colors
: Don't use colors in output
--quiet
(-q)
: No output
--reverse-colors
: Optimize color display for light backgrounds
--reverse-colours
: Optimize colour display for light backgrounds
Misc options
--debug
: Debug logging to screen
--no-log
: Don't create a log file
--profile
<profile>
: Scan the system with the given profile file
--view-manpage
(--man)
: View man page
--verbose
: Show more details on screen
--version
(-V)
: Display version number and quit
--wait
: Wait between a set of tests
--slow-warning <seconds> :
Threshold for slow test warning in seconds (default 10)
Enterprise options
--plugindir
<path>
: Define path of available plugins
--upload
: Upload data to central node
More options available. Run './lynis show
options', or use the man page.
[xtrnaw7@t15g /var/tmp/jwm/lynis]$
example usage of lynis
[xtrnaw7@t540p /var/tmp/jwm/lynis]$ sudo ./lynis audit
system
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/lynis]$ sudo
./lynis audit system
[ Lynis 2.4.0 ]
################################################################################
Lynis comes with ABSOLUTELY NO WARRANTY. This is free
software, and you are
welcome to redistribute it under the terms of the GNU
General Public License.
See the LICENSE file for details about using this
software.
2007-2016, CISOfy - https://cisofy.com/lynis/
Enterprise support available (compliance, plugins,
interface and tools)
################################################################################
[+] Initializing program
------------------------------------
- Detecting
OS...
[ DONE ]
- Checking
profiles...
[ DONE ]
---------------------------------------------------
Program
version:
2.4.0
Operating
system:
Linux
Operating system name: Fedora
Operating system version: Fedora release 23
(Twenty Three)
Kernel
version:
4.7.7
Hardware
platform:
x86_64
Hostname:
t540p
---------------------------------------------------
Profiles:
/var/tmp/jwm/lynis-2.4.0/default.prf
Log
file:
/var/log/lynis.log
Report
file:
/var/log/lynis-report.dat
Report
version:
1.0
Plugin
directory:
./plugins
---------------------------------------------------
Auditor:
[Not Specified]
Test
category:
all
Test
group:
all
---------------------------------------------------
- Program update
status...
[ NO UPDATE ]
[+] System Tools
------------------------------------
- Scanning available tools...
- Checking system binaries...
[+] Plugins (phase 1)
------------------------------------
Note: plugins have more extensive tests and may take
several minutes to complete
- Plugins
enabled
[ NONE ]
[+] Boot and services
------------------------------------
- Service
Manager
[ systemd ]
- Checking UEFI
boot
[ DISABLED ]
- Checking presence
GRUB2
[ FOUND ]
- Checking for password
protection
[ OK ]
- Check running services
(systemctl)
[ DONE ]
Result: found 41
running services
- Check enabled services at boot
(systemctl)
[ DONE ]
Result: found 51
enabled services
- Check startup files
(permissions)
[ OK ]
[+] Kernel
------------------------------------
- Checking default
runlevel
[ runlevel 5 ]
- Checking CPU support (NX/PAE)
CPU support: PAE and/or NoeXecute
supported
[ FOUND ]
- Checking kernel version and
release
[ DONE ]
- Checking kernel
type
[ DONE ]
- Checking loaded kernel
modules
[ DONE ]
Found 134 active modules
- Checking Linux kernel configuration
file
[ FOUND ]
- Checking default I/O kernel
scheduler
[ FOUND ]
- Checking core dumps
configuration
[ DISABLED ]
- Checking setuid core dumps
configuration
[ DEFAULT ]
- Check if reboot is
needed
[ NO ]
[+] Memory and Processes
------------------------------------
- Checking
/proc/meminfo
[ FOUND ]
- Searching for dead/zombie
processes
[ OK ]
- Searching for IO waiting
processes
[ OK ]
[+] Users, Groups and Authentication
------------------------------------
- Administrator
accounts
[ OK ]
- Unique
UIDs
[ OK ]
- Consistency of group files
(grpck)
[ OK ]
- Unique group
IDs
[ OK ]
- Unique group
names
[ OK ]
- Password file
consistency
[ OK ]
- Query system users (non
daemons)
[ DONE ]
- NIS+ authentication
support
[ NOT ENABLED ]
- NIS authentication
support
[ NOT ENABLED ]
- sudoers
file
[ FOUND ]
- Check sudoers file
permissions
[ OK ]
- PAM password strength
too20062006ls
[ OK ]
- PAM configuration file
(pam.conf)
[ NOT FOUND ]
- PAM configuration files
(pam.d)
[ FOUND ]
- PAM
modules
[ FOUND ]
- Checking user password aging
(minimum)
[ DISABLED ]
- User password aging
(maximum)
[ DISABLED ]
- Checking expired
passwords
[ OK ]
- Checking Linux single user mode
authentication
[ OK ]
- Determining default umask
- umask (/etc/profile and
/etc/profile.d)
[ SUGGESTION ]
- umask
(/etc/login.defs)
[ OK ]
- umask
(/etc/init.d/functions)
[ SUGGESTION ]
- LDAP authentication
support
[ NOT ENABLED ]
- Logging failed login
attempts
[ DISABLED ]
[+] Shells
------------------------------------
- Checking shells from /etc/shells
Result: found 11 shells (valid shells:
11).
- Session timeout
settings/tools
[ NONE ]
- Checking default umask values
- Checking default umask in
/etc/bashrc
[ WEAK ]
- Checking default umask in
/etc/csh.cshrc
[ WEAK ]
- Checking default umask in
/etc/profile
[ WEAK ]
[+] File systems
------------------------------------
- Checking mount points
- Checking /home mount
point
[ SUGGESTION ]
- Checking /tmp mount
point
[ OK ]
- Checking /var mount
point
[ OK ]
- Query swap partitions
(fstab)
[ NONE ]
- Testing swap
partitions
[ OK ]
- Testing /proc mount
(hidepid)
[ SUGGESTION ]
- Checking for old files in
/tmp
[ OK ]
- Checking /tmp sticky
bit
[ OK ]
- ACL support root file
system
[ ENABLED ]
- Mount options of
/
[ NON DEFAULT ]
- Mount options of
/boot
[ NON DEFAULT ]
- Checking Locate
database
[ FOUND ]
- Disable kernel support of some filesystems
- Discovered kernel modules: cramfs hfs
hfsplus squashfs udf
[+] Storage
------------------------------------
- Checking usb-storage driver (modprobe
config)
[ NOT DISABLED ]
- Checking USB devices
authorization
[ ENABLED ]
- Checking firewire ohci driver (modprobe
config)
[ NOT DISABLED ]
[+] NFS
------------------------------------
- Query rpc registered
programs
[ DONE ]
- Query NFS
versions
[ DONE ]
- Query NFS
protocols
[ DONE ]
- Check running NFS
daemon
[ NOT FOUND ]
[+] Name services
------------------------------------
- Searching DNS domain
name
[ UNKNOWN ]
- Checking /etc/hosts
- Checking /etc/hosts
(duplicates)
[ OK ]
- Checking /etc/hosts
(hostname)
[ OK ]
- Checking /etc/hosts
(localhost)
[ OK ]
[+] Ports and packages
------------------------------------
- Searching package managers
- Searching DNF package
manager
[ FOUND ]
- Querying DNF package
manager
- Using DNF to find vulnerable
packages
[ WARNING ]
- Checking package audit
tool
[ INSTALLED ]
Found: dnf
[+] Networking
------------------------------------
- Checking IPv6
configuration
[ ENABLED ]
Configuration
method
[ AUTO ]
IPv6
only
[ NO ]
- Checking configured nameservers
- Testing nameservers
Nameserver:
192.168.1.1
[ OK ]
- Minimal of 2 responsive
nameservers
[ WARNING ]
- Checking default
gateway
[ DONE ]
- Getting listening ports
(TCP/UDP)
[ DONE ]
* Found 23 ports
- Checking promiscuous
interfaces
[ OK ]
- Checking waiting
connections
[ OK ]
- Checking status DHCP
client
[ RUNNING ]
- Checking for ARP monitoring
software
[ NOT FOUND ]
[+] Printers and Spools
------------------------------------
- Checking cups
daemon
[ RUNNING ]
- Checking CUPS configuration
file
[ OK ]
- File
permissions
[ OK ]
- Checking CUPS
addresses/sockets
[ FOUND ]
- Checking lp
daemon
[ NOT RUNNING ]
[+] Software: e-mail and messaging
------------------------------------
- Checking Exim
status
[ NOT FOUND ]
- Checking Postfix
status
[ NOT FOUND ]
- Checking Dovecot
status
[ NOT FOUND ]
- Checking Qmail
status
[ NOT FOUND ]
- Checking Sendmail
status
[ NOT FOUND ]
[+] Software: firewalls
------------------------------------
- Checking iptables kernel
module
[ NOT FOUND ]
- Checking iptables in config
file
[ FOUND ]
- Checking iptables policies of
chains
[ FOUND ]
- Checking chain INPUT
(table: nfilter)
policy
[ ACCEPT ]
- Checking for empty
ruleset
[ OK ]
- Checking for unused
rules
[ FOUND ]
- Checking host based
firewall
[ ACTIVE ]
[+] Software: webserver
------------------------------------
- Checking Apache (binary
/usr/sbin/httpd)
[ FOUND ]
Info: Configuration file
found (/etc/httpd/conf/httpd.conf)
Info: Found 1 virtual hosts
* Loadable
modules
[ FOUND ]
- Found 103
loadable modules
mod_evasive: anti-DoS/brute
force
[ NOT FOUND ]
mod_qos:
anti-Slowloris
[ NOT FOUND ]
ModSecurity: web application
firewall
[ NOT FOUND ]
- Checking
nginx
[ NOT FOUND ]
[+] SSH Support
------------------------------------
- Checking running SSH
daemon
[ FOUND ]
- Searching SSH
configuration
[ FOUND ]
- SSH option:
AllowTcpForwarding
[ SUGGESTION ]
- SSH option:
ClientAliveCountMax
[ SUGGESTION ]
- SSH option:
ClientAliveInterval
[ OK ]
- SSH option:
Compression
[ SUGGESTION ]
- SSH option:
FingerprintHash
[ OK ]
- SSH option:
GatewayPorts
[ OK ]
- SSH option:
IgnoreRhosts
[ OK ]
- SSH option:
LoginGraceTime
[ OK ]
- SSH option:
LogLevel
[ SUGGESTION ]
- SSH option:
MaxAuthTries
[ SUGGESTION ]
- SSH option:
MaxSessions
[ SUGGESTION ]
- SSH option:
PermitRootLogin
[ SUGGESTION ]
- SSH option:
PermitUserEnvironment
[ OK ]
- SSH option:
PermitTunnel
[ OK ]
- SSH option:
Port
[ SUGGESTION ]
- SSH option:
PrintLastLog
[ OK ]
- SSH option:
Protocol
[ OK ]
- SSH option:
StrictModes
[ OK ]
- SSH option:
TCPKeepAlive
[ SUGGESTION ]
- SSH option:
UseDNS
[ OK ]
- SSH option:
UsePrivilegeSeparation
[ OK ]
- SSH option:
VerifyReverseMapping
[ NOT FOUND ]
- SSH option:
X11Forwarding
[ SUGGESTION ]
- SSH option:
AllowAgentForwarding
[ SUGGESTION ]
- SSH option:
AllowUsers
[ NOT FOUND ]
- SSH option:
AllowGroups
[ NOT FOUND ]
[+] SNMP Support
------------------------------------
- Checking running SNMP
daemon
[ NOT FOUND ]
[+] Databases
------------------------------------
No database engines found
[+] LDAP Services
------------------------------------
- Checking OpenLDAP
instance
[ NOT FOUND ]
[+] PHP
------------------------------------
- Checking
PHP
[ FOUND ]
- Checking PHP disabled
functions
[ FOUND ]
- Checking expose_php
option
[ ON ]
- Checking enable_dl
option
[ OFF ]
- Checking allow_url_fopen
option
[ ON ]
- Checking allow_url_include
option
[ OFF ]
[+] Squid Support
------------------------------------
- Checking running Squid
daemon
[ NOT FOUND ]
[+] Logging and files
------------------------------------
- Checking for a running log
daemon
[ OK ]
- Checking Syslog-NG
status
[ NOT FOUND ]
- Checking systemd journal
status
[ FOUND ]
- Checking Metalog
status
[ NOT FOUND ]
- Checking RSyslog
status
[ FOUND ]
- Checking RFC 3195 daemon
status
[ NOT FOUND ]
- Checking minilogd
instances
[ NOT FOUND ]
- Checking logrotate
presence
[ OK ]
- Checking log directories (static
list)
[ DONE ]
- Checking open log
files
[ DONE ]
- Checking deleted files in
use
[ FILES FOUND ]
[+] Insecure services
------------------------------------
- Checking inetd
status
[ NOT ACTIVE ]
[+] Banners and identification
------------------------------------
-
/etc/issue
[ SYMLINK ]
- /etc/issue
contents
[ WEAK ]
-
/etc/issue.net
[ SYMLINK ]
- /etc/issue.net
contents
[ WEAK ]
[+] Scheduled tasks
------------------------------------
- Checking
crontab/cronjob
[ DONE ]
- Checking atd
status
[ RUNNING ]
- Checking at
users
[ DONE ]
- Checking at
jobs
[ NONE ]
[+] Accounting
------------------------------------
- Checking accounting
information
[ OK ]
- Checking sysstat accounting
data
[ NOT FOUND ]
- Checking
auditd
[ ENABLED ]
- Checking audit
rules
[ OK ]
- Checking audit configuration
file
[ OK ]
- Checking auditd log
file
[ FOUND ]
[+] Time and Synchronization
------------------------------------
- NTP daemon found:
chronyd
[ FOUND ]
- NTP daemon found: systemd
(timesyncd)
[ FOUND ]
- Checking for a running NTP daemon or
client
[ OK ]
[+] Cryptography
------------------------------------
- Checking for expired SSL
certificates
[ NONE ]
[+] Virtualization
------------------------------------
[+] Containers
------------------------------------
[+] Security frameworks
------------------------------------
- Checking presence
AppArmor
[ NOT FOUND ]
- Checking presence
SELinux
[ FOUND ]
- Checking SELinux
status
[ DISABLED ]
- Checking presence
grsecurity
[ NOT FOUND ]
- Checking for implemented MAC
framework
[ NONE ]
[+] Software: file integrity
------------------------------------
- Checking file integrity tools
- Checking presence integrity
tool
[ NOT FOUND ]
[+] Software: System tooling
------------------------------------
- Checking automation tooling
- Automation
tooling
[ NOT FOUND ]
- Checking for IDS/IPS
tooling
[ NONE ]
[+] Software: Malware
------------------------------------
[+] File Permissions
------------------------------------
- Starting file permissions check
/etc/lilo.conf
[ NOT FOUND ]
/root/.ssh
[ NOT FOUND ]
[+] Home directories
------------------------------------
- Checking shell history
files
[ OK ]
[+] Kernel Hardening
------------------------------------
- Comparing sysctl key pairs with scan profile
- kernel.core_uses_pid (exp:
1)
[ OK ]
- kernel.ctrl-alt-del (exp:
0)
[ OK ]
- kernel.kptr_restrict (exp:
2)
[ DIFFERENT ]
- kernel.randomize_va_space (exp:
2)
[ OK ]
- kernel.sysrq (exp:
0)
[ DIFFERENT ]
- net.ipv4.conf.all.accept_redirects
(exp:
0)
[ OK ]
- net.ipv4.conf.all.accept_source_route
(exp:
0) [
OK ]
- net.ipv4.conf.all.bootp_relay (exp:
0)
[ OK ]
- net.ipv4.conf.all.forwarding (exp:
0)
[ OK ]
- net.ipv4.conf.all.log_martians (exp:
1)
[ DIFFERENT ]
- net.ipv4.conf.all.mc_forwarding (exp:
0)
[ OK ]
- net.ipv4.conf.all.proxy_arp (exp:
0)
[ OK ]
- net.ipv4.conf.all.rp_filter (exp:
1)
[ OK ]
- net.ipv4.conf.all.send_redirects (exp:
0)
[ OK ]
- net.ipv4.conf.default.accept_redirects
(exp: 0) [
OK ]
-
net.ipv4.conf.default.accept_source_route (exp:
0) [ OK ]
- net.ipv4.conf.default.log_martians
(exp:
1)
[ DIFFERENT ]
- net.ipv4.icmp_echo_ignore_broadcasts
(exp:
1)
[ OK ]
-
net.ipv4.icmp_ignore_bogus_error_responses (exp:
1) [ OK ]
- net.ipv4.tcp_syncookies (exp:
1)
[ OK ]
- net.ipv4.tcp_timestamps (exp:
0)
[ DIFFERENT ]
- net.ipv6.conf.all.accept_redirects
(exp:
0)
[ OK ]
- net.ipv6.conf.all.accept_source_route
(exp:
0) [
OK ]
- net.ipv6.conf.default.accept_redirects
(exp: 0) [
OK ]
-
net.ipv6.conf.default.accept_source_route (exp:
0) [ OK ]
[+] Hardening
------------------------------------
- Installed
compiler(s)
[ FOUND ]
- Installed malware
scanner
[ NOT FOUND ]
- Installed malware
scanner
[ NOT FOUND ]
[+] Custom Tests
------------------------------------
- Running custom
tests...
[ NONE ]
[+] Plugins (phase 2)
------------------------------------
================================================================================
-[ Lynis 2.4.0 Results ]-
Warnings (3):
----------------------------
! Found one or more vulnerable packages. Run: dnf
upgrade [PKGS-7352]
https://cisofy.com/controls/PKGS-7352/
! Couldn't find 2 responsive nameservers [NETW-2705]
https://cisofy.com/controls/NETW-2705/
! PHP option expose_php is possibly turned on, which
can reveal useful information for attackers. [PHP-2372]
https://cisofy.com/controls/PHP-2372/
Suggestions (36):
----------------------------
* Configure minimum password age in /etc/login.defs
[AUTH-9286]
https://cisofy.com/controls/AUTH-9286/
* Configure maximum password age in /etc/login.defs
[AUTH-9286]
https://cisofy.com/controls/AUTH-9286/
* Default umask in /etc/profile or
/etc/profile.d/custom.sh could be more strict (e.g. 027)
[AUTH-9328]
https://cisofy.com/controls/AUTH-9328/
* To decrease the impact of a full /home file system,
place /home on a separated partition [FILE-6310]
https://cisofy.com/controls/FILE-6310/
* Disable drivers like USB storage when not used, to
prevent unauthorized storage or data theft [STRG-1840]
https://cisofy.com/controls/STRG-1840/
* Disable drivers like firewire storage when not
used, to prevent unauthorized storage or data theft
[STRG-1846]
https://cisofy.com/controls/STRG-1846/
* Check DNS configuration for the dns domain name
[NAME-4028]
https://cisofy.com/controls/NAME-4028/
* Check output of: dnf repoquery --unsatisfied
[PKGS-7354]
https://cisofy.com/controls/PKGS-7354/
* Check your resolv.conf file and fill in a backup
nameserver if possible [NETW-2705]
https://cisofy.com/controls/NETW-2705/
* Consider running ARP monitoring software
(arpwatch,arpon) [NETW-3032]
https://cisofy.com/controls/NETW-3032/
* Check iptables rules to see which rules are
currently not used [FIRE-4513]
https://cisofy.com/controls/FIRE-4513/
* Install Apache mod_evasive to guard webserver
against DoS/brute force attempts [HTTP-6640]
https://cisofy.com/controls/HTTP-6640/
* Install Apache mod_qos to guard webserver against
Slowloris attacks [HTTP-6641]
https://cisofy.com/controls/HTTP-6641/
* Install Apache modsecurity to guard webserver
against web application attacks [HTTP-6643]
https://cisofy.com/controls/HTTP-6643/
* Consider hardening SSH configuration [SSH-7408]
- Details : AllowTcpForwarding (YES
--> NO)
https://cisofy.com/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : ClientAliveCountMax (3
--> 2)
https://cisofy.com/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : Compression (DELAYED
--> NO)
https://cisofy.com/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : LogLevel (INFO -->
VERBOSE)
https://cisofy.com/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : MaxAuthTries (6 -->
1)
https://cisofy.com/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : MaxSessions (10 -->
2)
https://cisofy.com/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : PermitRootLogin (YES
--> NO)
https://cisofy.com/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : Port (22 --> )
https://cisofy.com/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : TCPKeepAlive (YES
--> NO)
https://cisofy.com/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : X11Forwarding (YES
--> NO)
https://cisofy.com/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : AllowAgentForwarding
(YES --> NO)
https://cisofy.com/controls/SSH-7408/
* Change the expose_php line to: expose_php = Off
[PHP-2372]
https://cisofy.com/controls/PHP-2372/
* Change the allow_url_fopen line to: allow_url_fopen
= Off, to disable downloads via PHP [PHP-2376]
https://cisofy.com/controls/PHP-2376/
* Check what deleted files are still in use and why.
[LOGG-2190]
https://cisofy.com/controls/LOGG-2190/
* Add a legal banner to /etc/issue, to warn
unauthorized users [BANN-7126]
https://cisofy.com/controls/BANN-7126/
* Add legal banner to /etc/issue.net, to warn
unauthorized users [BANN-7130]
https://cisofy.com/controls/BANN-7130/
* Enable sysstat to collect accounting (no results)
[ACCT-9626]
https://cisofy.com/controls/ACCT-9626/
* Install a file integrity tool to monitor changes to
critical and sensitive files [FINT-4350]
https://cisofy.com/controls/FINT-4350/
* Determine if automation tools are present for
system management [TOOL-5002]
https://cisofy.com/controls/TOOL-5002/
* One or more sysctl values differ from the scan
profile and could be tweaked [KRNL-6000]
https://cisofy.com/controls/KRNL-6000/
* Harden compilers like restricting access to root
user only [HRDN-7222]
https://cisofy.com/controls/HRDN-7222/
* Harden the system by installing at least one
malware scanner, to perform periodic file system scans
[HRDN-7230]
- Solution : Install a tool like
rkhunter, chkrootkit, OSSEC
https://cisofy.com/controls/HRDN-7230/
Follow-up:
----------------------------
- Show details of a test (lynis show details TEST-ID)
- Check the logfile for all details (less
/var/log/lynis.log)
- Read security controls texts (https://cisofy.com)
- Use --upload to upload data to central system
(Lynis Enterprise users)
================================================================================
Lynis security scan details:
Hardening index : 67
[############# ]
Tests performed : 213
Plugins enabled : 0
Components:
-
Firewall
[V]
- Malware
scanner [X]
Lynis Modules:
- Compliance Status [?]
- Security
Audit [V]
- Vulnerability Scan [V]
Files:
- Test and debug
information :
/var/log/lynis.log
- Report
data
: /var/log/lynis-report.dat
================================================================================
Lynis 2.4.0
Auditing, system hardening, and compliance for
UNIX-based systems
(Linux, macOS, BSD, and others)
2007-2016, CISOfy - https://cisofy.com/lynis/
Enterprise support available (compliance, plugins,
interface and tools)
================================================================================
[TIP]: Enhance Lynis audits by adding your settings
to custom.prf (see /var/tmp/jwm/lynis-2.4.0/default.prf for
all settings)
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/lynis]$
"
manServer is a troff (or nroff) to HTML interpreter
written in Perl. It is designed specifically to convert manual
pages written using the man(7) troff macros into HTML for
display and navigation with a web browser. To this end it
includes direct support for man macros (also limited support for
tbl, eqn and the doc macros) as well as the most common troff
directives.
It differs from programs like man2html which merely take rather
ugly nroff output and put a thin HTML wrapper around it.
The following macros and directives are supported by manServer,
with varying degrees of correspondence to their troff
counterparts. Where there are significant differences these are
usually due to the fact that troff tends to be layout-oriented
while HTML is more content-oriented and does not provide the
same kind of detailed layout control."
Use the script
./start_stop_manserver.sh to start or
stop the manServer (see
here)
"
memconf reports the size of each SIMM/DIMM memory module
installed in a system. It also reports the system type and any
empty memory sockets. In verbose mode, it also reports the
following information if available:
- banner name, model and CPU/system frequencies
- address range and bank numbers for each module"
memconf works on Solaris, Linux, FreeBSD and HP-UX workstation
or server.
memconf example
[xtrnaw7@t15g /var/tmp/jwm/scripts]$ sudo ./memconf
memconf: V3.16 27-Jul-2022
https://sourceforge.net/projects/memconf/
hostname: t15g.isbs.de
LENOVO 20YSCTO1WW (Eight-Core Hyper-Threaded Intel(R)
Corporation 11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz)
Memory Error Correction: None
Maximum Memory: 131072MB (128GB)
Controller0-ChannelA-DIMM0 BANK 0: 32 GB 3200 MT/s
Synchronous DDR4 SODIMM, Hynix Semiconductor
HMAA4GS6CJR8N-XN
Controller0-ChannelA-DIMM1 BANK 0: 32 GB 3200 MT/s
Synchronous DDR4 SODIMM, Hynix Semiconductor
HMAA4GS6CJR8N-XN
Controller1-ChannelA-DIMM0 BANK 0: 32 GB 3200 MT/s
Synchronous DDR4 SODIMM, Hynix Semiconductor
HMAA4GS6CJR8N-XN
Controller1-ChannelA-DIMM1 BANK 0: 32 GB 3200 MT/s
Synchronous DDR4 SODIMM, Hynix Semiconductor
HMAA4GS6CJR8N-XN
empty memory sockets: None
total memory = 131072MB (128GB)
[xtrnaw7@t15g /var/tmp/jwm/scripts]$
mpathstat.py is a simple python script to sort
the iostat output to better monitor multipathed devices.
Example
[root@testux001 ~]# /home/support/mpathstat.py
Device
Name
Reads Writes
KBytesR/S KBytesW/S Await
3500608730450000000000002da (dm-83)
34.00
3.00
152.00
24.00 0.38
|-
sdqj
16.00
2.00
68.00
16.00 0.11
|-
sdqk
18.00
1.00
84.00
8.00
0.58
|-
sdfm
0.00
0.00
0.00
0.00
0.00
|-
sdfl
0.00
0.00
0.00
0.00
0.00
3500608730450000000000002db (dm-86)
30.00
3.00
120.00
56.00 0.12
|-
sdql
0.00
0.00
0.00
0.00
0.00
|-
sdqm
0.00
0.00
0.00
0.00
0.00
|-
sdfo
15.00
2.00
60.00
25.50 0.06
|-
sdfn
16.00
1.00
64.00
30.50 0.18
3500608730450000000000002d8 (dm-85)
30.00
1.00
120.00
16.00 0.16
|-
sdqf
15.00
1.00
60.00
16.00 0.19
|-
sdqg
15.00
0.00
60.00
0.00
0.13
|-
sdfi
0.00
0.00
0.00
0.00
0.00
|-
sdfh
0.00
0.00
0.00
0.00
0.00
3500608730450000000000002d9 (dm-84)
0.00
3.00
0.00
56.00 0.67
|-
sdqh
0.00
0.00
0.00
0.00
0.00
|-
sdqi
0.00
0.00
0.00
0.00
0.00
|-
sdfk
0.00
1.00
0.00
30.50 1.00
|-
sdfj
0.00
2.00
0.00
25.50 0.50
3500608730450000000000000381 (dm-259)
0.00
1.00
0.00
16.00 0.00
|-
sdaps
0.00
0.00
0.00
0.00
0.00
|-
sdamb
0.00
0.00
0.00
0.00
0.00
|-
sdadu
0.00
0.00
0.00
0.00
0.00
|-
sdadt
0.00
1.00
0.00
16.00 0.00
...
mtr is a tool to monitor network traffic and routing.
mtr usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo mtr
--help
usage: mtr [-BfhvrwctglxspQomniuT46] [--help] [--version]
[--report]
[--report-wide]
[--report-cycles=COUNT] [--curses] [--gtk]
[--csv|-C] [--raw]
[--xml] [--split] [--mpls] [--no-dns] [--show-ips]
[--address interface]
[--filename=FILE|-F]
[--ipinfo=item_no|-y
item_no]
[--aslookup|-z]
[--psize=bytes/-s
bytes] [--order fields]
[--report-wide|-w]
[--inet] [--inet6] [--max-ttl=NUM] [--first-ttl=NUM]
[--bitpattern=NUM]
[--tos=NUM] [--udp] [--tcp] [--port=PORT]
[--timeout=SECONDS]
[--interval=SECONDS]
HOSTNAME
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
nano is a visual e ditor for those that do not like vi
nano usage
[xtrnaw7@t15g /var/tmp/jwm/src]$ ../bin/nano -h
Usage: nano [OPTIONS] [[+LINE[,COLUMN]] FILE]...
To place the cursor on a specific line of a file, put the
line number with
a '+' before the filename. The column number can be
added after a comma.
When a filename is '-', nano reads data from standard input.
Option
Long
option
Meaning
-A
--smarthome
Enable smart home key
-B
--backup
Save backups of existing files
-C <dir>
--backupdir=<dir>
Directory for saving unique backup files
-D
--boldtext
Use bold instead of reverse video text
-E
--tabstospaces
Convert typed tabs to spaces
-F
--multibuffer
Read a file into a new buffer by default
-G
--locking
Use (vim-style) lock files
-H
--historylog
Save & reload old search/replace strings
-I
--ignorercfiles
Don't look at nanorc files
-J <number>
--guidestripe=<number> Show a guiding bar at
this column
-K
--rawsequences
Fix numeric keypad key confusion problem
-L
--nonewlines
Don't add an automatic newline
-M
--trimblanks
Trim tail spaces when hard-wrapping
-N
--noconvert
Don't convert files from DOS/Mac format
-O
--bookstyle
Leading whitespace means new paragraph
-P
--positionlog
Save & restore position of the cursor
-Q <regex>
--quotestr=<regex>
Regular expression to match quoting
-R
--restricted
Restrict access to the filesystem
-S
--softwrap
Display overlong lines on multiple rows
-T <number>
--tabsize=<number> Make
a tab this number of columns wide
-U
--quickblank
Wipe status bar upon next keystroke
-V
--version
Print version information and exit
-W
--wordbounds
Detect word boundaries more accurately
-X <string>
--wordchars=<string> Which other
characters are word parts
-Y <name>
--syntax=<name>
Syntax definition to use for coloring
-Z
--zap
Let Bsp and Del erase a marked region
-a
--atblanks
When soft-wrapping, do it at whitespace
-b
--breaklonglines
Automatically hard-wrap overlong lines
-c
--constantshow
Constantly show cursor position
-d
--rebinddelete
Fix Backspace/Delete confusion problem
-e
--emptyline
Keep the line below the title bar empty
-f <file>
--rcfile=<file>
Use only this file for configuring nano
-g
--showcursor
Show cursor in file browser & help text
-h
--help
Show this help text and exit
-i
--autoindent
Automatically indent new lines
-j
--jumpyscrolling
Scroll per half-screen, not per line
-k
--cutfromcursor
Cut from cursor to end of line
-l
--linenumbers
Show line numbers in front of the text
-m
--mouse
Enable the use of the mouse
-n
--noread
Do not read the file (only write it)
-o <dir>
--operatingdir=<dir> Set operating
directory
-p
--preserve
Preserve XON (^Q) and XOFF (^S) keys
-q
--indicator
Show a position+portion indicator
-r <number>
--fill=<number>
Set width for hard-wrap and justify
-s <program>
--speller=<program> Use this
alternative spell checker
-t
--saveonexit
Save changes on exit, don't prompt
-u
--unix
Save a file by default in Unix format
-v
--view
View mode (read-only)
-w
--nowrap
Don't hard-wrap long lines [default]
-x
--nohelp
Don't show the two help lines
-y
--afterends
Make Ctrl+Right stop at word ends
-!
--magic
Also try magic to determine syntax
-%
--stateflags
Show some states on the title bar
-_
--minibar
Show a feedback bar at the bottom
-0
--zero
Hide all bars, use whole terminal
[xtrnaw7@t15g /var/tmp/jwm/src]$
nano example
netcat usage
[xtrnaw7@t540p /var/tmp/jwm/src/netcat-0.7.1]$
/var/tmp/jwm/bin/netcat -h
GNU netcat 0.7.1, a rewrite of the famous networking tool.
Basic usages:
connect to somewhere: /var/tmp/jwm/bin/netcat
[options] hostname port [port] ...
listen for inbound:
/var/tmp/jwm/bin/netcat -l -p port [options] [hostname]
[port] ...
tunnel to somewhere: /var/tmp/jwm/bin/netcat -L
hostname:port -p port [options]
Mandatory arguments to long options are mandatory for short
options too.
Options:
-c,
--close
close connection on EOF from stdin
-e,
--exec=PROGRAM
program to exec after connect
-g,
--gateway=LIST
source-routing hop point[s], up to 8
-G,
--pointer=NUM
source-routing pointer: 4, 8, 12, ...
-h,
--help
display this help and exit
-i,
--interval=SECS
delay interval for lines sent, ports scanned
-l,
--listen
listen mode, for inbound connects
-L, --tunnel=ADDRESS:PORT forward local port to
remote address
-n,
--dont-resolve
numeric-only IP addresses, no DNS
-o,
--output=FILE
output hexdump traffic to FILE (implies -x)
-p,
--local-port=NUM local
port number
-r,
--randomize
randomize local and remote ports
-s,
--source=ADDRESS local
source address (ip or hostname)
-t,
--tcp
TCP mode (default)
-T,
--telnet
answer using TELNET negotiation
-u,
--udp
UDP mode
-v,
--verbose
verbose (use twice to be more verbose)
-V,
--version
output version information and exit
-x,
--hexdump
hexdump incoming and outgoing traffic
-w,
--wait=SECS
timeout for connects and final net reads
-z,
--zero
zero-I/O mode (used for scanning)
Remote port number can also be specified as range.
Example: '1-1024'
[xtrnaw7@t540p /var/tmp/jwm/src/netcat-0.7.1]$
netcat examples
n/a
"
netdata is a extremely optimized Linux utility that
provides real-time (per second) performance monitoring for Linux
systems, applications, SNMP devices, etc. and shows full
interactive charts that absolutely render all collected values
over the web browser to analyze them."
netdata usage
[xtrnaw7@t15g /var/tmp/jwm/src]$
/var/tmp/jwm/netdata/usr/sbin/netdata -h
^
|.-. .-. .-.
.-. .
netdata
| '-' '-'
'-' '-' real-time performance
monitoring, done right!
+----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--->
Copyright (C) 2016-2022, Netdata, Inc.
<info@netdata.cloud>
Released under GNU General Public License v3 or later.
All rights reserved.
Home Page : https://netdata.cloud
Source Code: https://github.com/netdata/netdata
Docs :
https://learn.netdata.cloud
Support :
https://github.com/netdata/netdata/issues
License :
https://github.com/netdata/netdata/blob/master/LICENSE.md
Twitter :
https://twitter.com/linuxnetdata
LinkedIn :
https://linkedin.com/company/netdata-cloud/
Facebook :
https://facebook.com/linuxnetdata/
SYNOPSIS: netdata [options]
Options:
-c
filename
Configuration file to load.
Default: /var/tmp/jwm/netdata/etc/netdata/netdata.conf
-D
Do not fork. Run in the foreground.
Default: run in the background
-d
Fork. Run in the background.
Default: run in the background
-h
Display this help message.
-P
filename
File to save a pid while running.
Default: do not save pid to a file
-i
IP
The IP address to listen to.
Default: all IP addresses IPv4 and IPv6
-p
port
API/Web port to use.
Default: 19999
-s
path
Prefix for /proc and /sys (for containers).
Default: no prefix
-t
seconds
The internal clock of netdata.
Default: 1
-u
username
Run as user.
Default: netdata
-v
Print netdata version and exit.
-V
Print netdata version and exit.
-W
options
See Advanced options below.
Advanced options:
-W
stacksize=N
Set the stacksize (in bytes).
-W
debug_flags=N
Set runtime tracing to debug.log.
-W
unittest
Run internal unittests and exit.
-W
sqlite-check
Check metadata database integrity and exit.
-W
sqlite-fix
Check metadata database integrity, fix if needed and exit.
-W
sqlite-compact
Reclaim metadata database unused space and exit.
-W set section option value
set netdata.conf option from the command line.
-W
buildinfo
Print the version, the configure options,
a list of optional features, and whether they
are enabled or not.
-W
buildinfojson
Print the version, the configure options,
a list of optional features, and whether they
are enabled or not, in JSON format.
-W simple-pattern pattern string
Check if string matches pattern and exit.
-W "claim -token=TOKEN -rooms=ROOM1,ROOM2"
Claim the agent to the workspace rooms pointed to by TOKEN
and ROOM*.
Signals netdata handles:
-
HUP
Close and reopen log files.
-
USR1
Save internal DB to disk.
-
USR2
Reload health configuration.
[xtrnaw7@t15g /var/tmp/jwm/src]$
You may use the script
netdata.sh to
start or stop the netdata daemon.
Please be aware that netdata does not work with all browsers
(e.g. in Seamonkey only some of the charts are shown).
netdata.sh is a simple start/stop script for the
netdata daemon
The current version of the script is always available
here.
netdata.sh usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/scripts]$
./netdata.sh --help
[25.10.2016 18:58 ] ### netdata.sh started at Tue Oct 25
18:58:04 CEST 2016
netdata.sh
Function: start or stop the netdata daemon
Usage: netdata.sh [-v|--verbose]
[-q|--quiet] [-f|--force] [-p|--port netdataport]
[-c|--cleanup]
[start [netdata_options]|stop|restart
[netdata_options]|status|cleanup|deamon_help]
Parameter
-v - verbose mode
-q - quiet mode
-f - force execution
-p - port for netdata (default: 19999]
-c - cleanup the netdata data directories; this
parameter is only valid with start or stop
cleanup - cleanup the netdata data
directories; this parameter is only valid if netdata
is not running
netdata_options - add. options for starting the
netdata daemon
deamon_help - list the usage help for the
netdata daemon
The script searches the netdata binary in these
directories:
- the current working directory
- the directory with this script
- the directory ${JWM_DIR}/netdata/usr/sbin
- the directory ${PWD}/../
Author:
Bernd Schemmer (Bernd.Schemmer@gmx.de)
[25.10.2016 18:58 ] ### netdata.sh ended at Tue Oct 25
18:58:04 CEST 2016
netdata.sh examples
[JWM session] [xtrnaw7@t540p
/var/tmp/jwm]$ ./scripts/netdata.sh status
[23.10.2016 17:54 ] ### netdata.sh started at Sun Oct 23
17:54:35 CEST 2016
[23.10.2016 17:54 ] Using the netdata directory based on the
the environment variable JWM_DIR ("/var/tmp/jwm")
[23.10.2016 17:54 ] The netdata base directory is
/var/tmp/jwm/netdata
[23.10.2016 17:54 ] The netdata daemon is NOT running (well,
it may be running but it was not started by this script)
[23.10.2016 17:54 ] ### netdata.sh ended at Sun Oct 23
17:54:35 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
./scripts/netdata.sh start
[23.10.2016 17:54 ] ### netdata.sh started at Sun Oct 23
17:54:39 CEST 2016
[23.10.2016 17:54 ] Using the netdata directory based on the
the environment variable JWM_DIR ("/var/tmp/jwm")
[23.10.2016 17:54 ] The netdata base directory is
/var/tmp/jwm/netdata
[23.10.2016 17:54 ] Starting the netdata daemon ...
[23.10.2016 17:54 ] The port to use for the netdata daemon
is 19999
[23.10.2016 17:54 ] Using the existing config file
./etc/netdata/netdata.conf
+ ./usr/sbin/netdata -P /tmp/netdata.pid -p 19999
+ 2>& 1
16-10-23 17:54:39: INFO: netdata: System has 8 processors.
16-10-23 17:54:39: INFO: netdata: System supports 32768
pids.
[23.10.2016 17:54 ] netdata daemon started; the PID is 20190
[23.10.2016 17:54 ] Use http://localhost:19999 or
http://t540p:19999 to access netdata in your Webbrowser
[23.10.2016 17:54 ] Use http://localhost:19999/netdata.conf
to view the configuration of the running netdata
[23.10.2016 17:54 ] ### netdata.sh ended at Sun Oct 23
17:54:39 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
./scripts/netdata.sh status
[23.10.2016 17:54 ] ### netdata.sh started at Sun Oct 23
17:54:44 CEST 2016
[23.10.2016 17:54 ] Using the netdata directory based on the
the environment variable JWM_DIR ("/var/tmp/jwm")
[23.10.2016 17:54 ] The netdata base directory is
/var/tmp/jwm/netdata
[23.10.2016 17:54 ] The netdata daemon is running; the PID
is 20190
UID PID
PPID C STIME
TTY
TIME CMD
xtrnaw7 20190 1 2 17:54
? 00:00:00
./usr/sbin/netdata -P /tmp/netdata.pid -p 19999
[23.10.2016 17:54 ] The netdata daemon is listening on these
ports:
(Not all processes could be identified, non-owned process
info
will not be shown, you would have to be root to see it
all.)
tcp
0 0
0.0.0.0:19999
0.0.0.0:*
LISTEN 20190/./usr/sbin/ne
tcp6
0 0
:::19999
:::*
LISTEN 20190/./usr/sbin/ne
[23.10.2016 17:54 ] ### netdata.sh ended at Sun Oct 23
17:54:44 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
./scripts/netdata.sh stop
[23.10.2016 17:54 ] ### netdata.sh started at Sun Oct 23
17:54:50 CEST 2016
[23.10.2016 17:54 ] Using the netdata directory based on the
the environment variable JWM_DIR ("/var/tmp/jwm")
[23.10.2016 17:54 ] The netdata base directory is
/var/tmp/jwm/netdata
[23.10.2016 17:54 ] The netdata daemon is running; the PID
is 20190
[23.10.2016 17:54 ] Stopping the netdata daemon ...
[23.10.2016 17:54 ] ### netdata.sh ended at Sun Oct 23
17:54:52 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
The known paramter for the netdata daemon are:
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/scripts]$
./netdata.sh daemon_help
[25.10.2016 19:00 ] ### netdata.sh started at Tue Oct 25
19:00:43 CEST 2016
[25.10.2016 19:00 ] Using the netdata directory based on the
the environment variable JWM_DIR ("/var/tmp/jwm")
[25.10.2016 19:00 ] The netdata base directory is
/var/tmp/jwm/netdata
[25.10.2016 19:00 ] Additional parameter supported by the
netdata daemon are:
SYNOPSIS: netdata [options]
Options:
-c
config_file
Load alternate configuration file Default:
/var/tmp/jwm/netdata/etc/netdata/netdata.conf
-D
Disable fork into background
-h
Display help message
-P
FILE
File to save a pid while running
-i
address
The IP address to listen to. Default: All addresses
-k
Check daemon configuration.
-p
port_number
Port to listen. Can be from 1 to 65535. Default: 19999
-s
PATH
Path to access host /proc and /sys when running in a
container.
-t
seconds
The frequency in seconds, for data collection. Same as
'update every' config file option. Default: 1
-u
username
System username to run as. Default: netdata
-v
Version of the program
-W stacksize=N|unittest|debug_flags=N vendor
options.
[25.10.2016 19:00 ] ### netdata.sh ended at Tue Oct 25
19:00:43 CEST 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/scripts]$
nethogs is a top like tool to monitor the network
bandwidth.
nethogs usage
[JWM session] [xtrnaw7@t540p /var/tmp]$ nethogs -h
usage: nethogs [-V] [-b] [-d seconds] [-t] [-p] [device
[device [device ...]]]
-V : prints version.
-d : delay for update
refresh rate in seconds. default is 1.
-t : tracemode.
-b : bughunt mode -
implies tracemode.
-p : sniff in
promiscious mode (not recommended).
device : device(s) to
monitor. default is eth0
When nethogs is running, press:
q: quit
m: switch between total and kb/s mode
[JWM session] [xtrnaw7@t540p /var/tmp]$
ngrep can be used to view the network packets.
ngrep usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ ngrep -h
usage: ngrep <-hNXViwqpevxlDtTRM> <-IO
pcap_dump> <-n num> <-d dev> <-A num>
<-s snaplen> <-S limitlen> <-W
normal|byline|single|none> <-c cols>
<-P char> <-F file>
-h is help/usage
-V is version information
-q is be quiet (don't print packet reception hash marks)
-e is show empty packets
-i is ignore case
-v is invert match
-R is don't do privilege revocation logic
-x is print in alternate hexdump format
-X is interpret match expression as hexadecimal
-w is word-regex (expression must match as a word)
-p is don't go into promiscuous mode
-l is make stdout line buffered
-D is replay pcap_dumps with their recorded time
intervals
-t is print timestamp every time a packet is matched
-T is print delta timestamp every time a packet is
matched
-M is don't do multi-line match (do single-line match
instead)
-I is read packet stream from pcap format file pcap_dump
-O is dump matched packets in pcap format to pcap_dump
-n is look at only num packets
-A is dump num packets after a match
-s is set the bpf caplen
-S is set the limitlen on matched packets
-W is set the dump format (normal, byline, single, none)
-c is force the column width to the specified size
-P is set the non-printable display char to what is
specified
-F is read the bpf filter from the specified file
-N is show sub protocol number
-d is use specified device instead of the pcap default
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
ngrep is very useful to check if a network port is in the
correct VLAN,
ngrep example
xtrnaw7@t61p Tue Oct 29 22:09:51 /tmp/jwm $ ifconfig
eth0
eth0 Link encap:Ethernet
HWaddr 00:1e:37:8a:61:02
inet
addr:192.168.1.161 Bcast:192.168.1.255
Mask:255.255.255.0
inet6
addr: fe80::21e:37ff:fe8a:6102/64 Scope:Link
UP
BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX
packets:9296429 errors:0 dropped:0 overruns:0 frame:0
TX
packets:3487949 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX
bytes:13478360333 (13.4 GB) TX bytes:4271686563 (4.2
GB)
Interrupt:20 Memory:fe200000-fe220000
xtrnaw7@t61p Tue Oct 29 22:09:55 /tmp/jwm $ sudo sbin/ngrep
-d eth0
[sudo] password for xtrnaw7:
interface: eth0 (192.168.1.0/255.255.255.0)
#
T 192.168.1.161:53094 -> 173.194.44.7:443 [AP]
....
y..@..r.&i..2.z.;SNK(..t_".qsg..
#
T 173.194.44.7:443 -> 192.168.1.161:53094 [AP]
....
X.+7!o.>.[.T...B..)."........4..
##
U 192.168.1.161:33401 -> 192.168.1.1:53
.m...........2.0.0.0.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.f.f.ip6.arpa.....
#
U 192.168.1.1:53 -> 192.168.1.161:33401
.m...........2.0.0.0.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.f.f.ip6.arpa......L.......P.:.b.ip6
-servers.P.hostmaster.icann.org.w.............:.....
^Cexit
5 received, 0 dropped
ngrep can be used to check the VLAN configuration in
Linux - unfortunately there is no snoop in Linux ....
nicstat is a tool to monitor the network bandwidth.
nicstat usage
[JWM session] [xtrnaw7@t540p /var/tmp]$ nicstat -h
USAGE: nicstat [-hvnsxpztualMU] [-i int[,int...]]
[-S int:mbps[,int:mbps...]] [interval [count]]
-h
# help
-v
# show version (1.95)
-i
interface # track
interface only
-n
# show non-local interfaces only (exclude lo0)
-s
# summary output
-x
# extended output
-p
# parseable output
-z
# skip zero value lines
-t
# show TCP statistics
-u
# show UDP statistics
-a
# equivalent to "-x -u -t"
-l
# list interface(s)
-M
# output in Mbits/sec
-U
# separate %rUtil and %wUtil
-S
int:mbps[fd|hd] # tell nicstat the interface
# speed (Mbits/sec) and duplex
eg,
nicstat
# print summary since boot only
nicstat
1
# print every 1 second
nicstat 1
5 #
print 5 times only
nicstat -z
1 # print
every 1 second, skip zero lines
nicstat -i hme0
1 # print hme0 only every 1 second
[JWM session] [xtrnaw7@t540p /var/tmp]$
nload is a console application which monitors network
traffic and bandwidth usage in real time. It visualizes the in-
and outgoing traffic using two graphs and provides additional
info like total amount of transfered data and min/max network
usage.
nload usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ nload --help
nload version 0.7.4
Copyright (C) 2001 - 2012 by Roland Riegel
<feedback@roland-riegel.de>
nload comes with ABSOLUTELY NO WARRANTY. This is free
software, and you are
welcome to redistribute it under certain conditions. For
more details see the
GNU General Public License Version 2
(http://www.gnu.org/copyleft/gpl.html).
Command line syntax:
nload [options] [devices]
nload --help|-h
Options:
-a period Sets the
length in seconds of the time window for average
calculation.
Default is 300.
-i max_scaling Specifies the 100% mark in kBit/s of
the graph indicating the
incoming bandwidth usage. Ignored if max_scaling is 0 or the
switch -m is given.
Default is 10240.
-m
Show multiple devices at a time; no traffic graphs.
-o max_scaling Same as -i but for the graph indicating
the outgoing bandwidth
usage.
Default is 10240.
-t interval Determines the refresh
interval of the display in milliseconds.
Default is 500.
-u h|b|k|m|g Sets the type of unit used
for the display of traffic numbers.
H|B|K|M|G h: auto, b: Bit/s,
k: kBit/s, m: MBit/s etc.
H: auto, B: Byte/s, K: kByte/s, M: MByte/s etc.
Default is h.
-U h|b|k|m|g Same as -u, but for a total
amount of data (without "/s").
H|B|K|M|G Default is H.
devices
Network devices to use.
Default is to use all auto-detected devices.
--help
-h
Print this help.
example: nload -t 200 -i 1024 -o 128 -U M
The options above can also be changed at run time by
pressing the 'F2' key.
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
nmap, ncat, ndiff, and nping are tools for network
testing and monitoring
nmap usage
[xtrnaw7@t15g /var/tmp/jwm/src]$ ../bin/nmap -h
Nmap 7.94 ( https://nmap.org )
Usage: nmap [Scan Type(s)] [Options] {target specification}
TARGET SPECIFICATION:
Can pass hostnames, IP addresses, networks, etc.
Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1;
10.0.0-255.1-254
-iL <inputfilename>: Input from list of
hosts/networks
-iR <num hosts>: Choose random targets
--exclude <host1[,host2][,host3],...>: Exclude
hosts/networks
--excludefile <exclude_file>: Exclude list from
file
HOST DISCOVERY:
-sL: List Scan - simply list targets to scan
-sn: Ping Scan - disable port scan
-Pn: Treat all hosts as online -- skip host discovery
-PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP
discovery to given ports
-PE/PP/PM: ICMP echo, timestamp, and netmask request
discovery probes
-PO[protocol list]: IP Protocol Ping
-n/-R: Never do DNS resolution/Always resolve
[default: sometimes]
--dns-servers <serv1[,serv2],...>: Specify
custom DNS servers
--system-dns: Use OS's DNS resolver
--traceroute: Trace hop path to each host
SCAN TECHNIQUES:
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon
scans
-sU: UDP Scan
-sN/sF/sX: TCP Null, FIN, and Xmas scans
--scanflags <flags>: Customize TCP scan flags
-sI <zombie host[:probeport]>: Idle scan
-sY/sZ: SCTP INIT/COOKIE-ECHO scans
-sO: IP protocol scan
-b <FTP relay host>: FTP bounce scan
PORT SPECIFICATION AND SCAN ORDER:
-p <port ranges>: Only scan specified ports
Ex: -p22; -p1-65535; -p
U:53,111,137,T:21-25,80,139,8080,S:9
--exclude-ports <port ranges>: Exclude the
specified ports from scanning
-F: Fast mode - Scan fewer ports than the default
scan
-r: Scan ports sequentially - don't randomize
--top-ports <number>: Scan <number> most
common ports
--port-ratio <ratio>: Scan ports more common
than <ratio>
SERVICE/VERSION DETECTION:
-sV: Probe open ports to determine service/version
info
--version-intensity <level>: Set from 0 (light)
to 9 (try all probes)
--version-light: Limit to most likely probes
(intensity 2)
--version-all: Try every single probe (intensity 9)
--version-trace: Show detailed version scan activity
(for debugging)
OS DETECTION:
-O: Enable OS detection
--osscan-limit: Limit OS detection to promising
targets
--osscan-guess: Guess OS more aggressively
TIMING AND PERFORMANCE:
Options which take <time> are in seconds, or
append 'ms' (milliseconds),
's' (seconds), 'm' (minutes), or 'h' (hours) to the
value (e.g. 30m).
-T<0-5>: Set timing template (higher is faster)
--min-hostgroup/max-hostgroup <size>: Parallel
host scan group sizes
--min-parallelism/max-parallelism <numprobes>:
Probe parallelization
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout
<time>: Specifies
probe round trip time.
--max-retries <tries>: Caps number of port scan
probe retransmissions.
--host-timeout <time>: Give up on target after
this long
--scan-delay/--max-scan-delay <time>: Adjust
delay between probes
--min-rate <number>: Send packets no slower
than <number> per second
--max-rate <number>: Send packets no faster
than <number> per second
FIREWALL/IDS EVASION AND SPOOFING:
-f; --mtu <val>: fragment packets (optionally
w/given MTU)
-D <decoy1,decoy2[,ME],...>: Cloak a scan with
decoys
-S <IP_Address>: Spoof source address
-e <iface>: Use specified interface
-g/--source-port <portnum>: Use given port
number
--proxies <url1,[url2],...>: Relay connections
through HTTP/SOCKS4 proxies
--data <hex string>: Append a custom payload to
sent packets
--data-string <string>: Append a custom ASCII
string to sent packets
--data-length <num>: Append random data to sent
packets
--ip-options <options>: Send packets with
specified ip options
--ttl <val>: Set IP time-to-live field
--spoof-mac <mac address/prefix/vendor name>:
Spoof your MAC address
--badsum: Send packets with a bogus TCP/UDP/SCTP
checksum
OUTPUT:
-oN/-oX/-oS/-oG <file>: Output scan in normal,
XML, s|<rIpt kIddi3,
and Grepable format, respectively,
to the given filename.
-oA <basename>: Output in the three major
formats at once
-v: Increase verbosity level (use -vv or more for
greater effect)
-d: Increase debugging level (use -dd or more for
greater effect)
--reason: Display the reason a port is in a
particular state
--open: Only show open (or possibly open) ports
--packet-trace: Show all packets sent and received
--iflist: Print host interfaces and routes (for
debugging)
--append-output: Append to rather than clobber
specified output files
--resume <filename>: Resume an aborted scan
--noninteractive: Disable runtime interactions via
keyboard
--stylesheet <path/URL>: XSL stylesheet to
transform XML output to HTML
--webxml: Reference stylesheet from Nmap.Org for more
portable XML
--no-stylesheet: Prevent associating of XSL
stylesheet w/XML output
MISC:
-6: Enable IPv6 scanning
-A: Enable OS detection, version detection, script
scanning, and traceroute
--datadir <dirname>: Specify custom Nmap data
file location
--send-eth/--send-ip: Send using raw ethernet frames
or IP packets
--privileged: Assume that the user is fully
privileged
--unprivileged: Assume the user lacks raw socket
privileges
-V: Print version number
-h: Print this help summary page.
EXAMPLES:
nmap -v -A scanme.nmap.org
nmap -v -sn 192.168.0.0/16 10.0.0.0/8
nmap -v -iR 10000 -Pn -p 80
SEE THE MAN PAGE (https://nmap.org/book/man.html) FOR MORE
OPTIONS AND EXAMPLES
[xtrnaw7@t15g /var/tmp/jwm/src]$
e.g. to check for open ports use:
nmap example
[xtrnaw7@t15g /var/tmp/jwm/src]$ ../bin/nmap 192.168.1.1
Starting Nmap 7.93 ( https://nmap.org ) at 2023-02-03 08:16
CET
Nmap scan report for easy.box (192.168.1.1)
Host is up (0.028s latency).
Not shown: 996 closed tcp ports (conn-refused)
PORT STATE SERVICE
22/tcp filtered ssh
53/tcp open domain
80/tcp open http
443/tcp open https
Nmap done: 1 IP address (1 host up) scanned in 1.35 seconds
[xtrnaw7@t15g /var/tmp/jwm/src]$
netio can be used to measure the network bandwidth
between two machines.
netio usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ bin/netio
NETIO - Network Throughput Benchmark, Version 1.26
(C) 1997-2005 Kai Uwe Rommel
Usage: netio [options] [<server>]
-s
run server side of benchmark (otherwise run client)
-b <size>[k] use this block size
(otherwise run with 1,2,4,8,16 and 32k)
-t
use TCP protocol for benchmark
-u
use UDP protocol for benchmark
-h <addr> bind TCP and
UDP servers to this local host address/name only
(default is to bind to all local addresses)
-p <port> bind TCP and
UDP servers to this port (default is 18767)
<server> If the
client side of the benchmark is running,
a server name or address is required.
The server side can run either TCP (-t) or UDP (-u) protocol
or both
(default, if neither -t or -u is specified). The client runs
one of
these protocols only (must specify -t or -u).
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
netio example
To use it start netio in server mode on one of the server,
e.g.
xtrnaw7@t61p Tue Oct 29 20:16:24 /tmp/jwm $ bin/netio -s
NETIO - Network Throughput Benchmark, Version 1.26
(C) 1997-2005 Kai Uwe Rommel
UDP server listening.
TCP server listening.
Now connect to the 2nd server and start netio in client mode,
e.g.
bernd@oc8260701612 ~]$ /tmp/jwm/bin/netio -t
192.168.1.161
NETIO - Network Throughput Benchmark, Version 1.26
(C) 1997-2005 Kai Uwe Rommel
TCP connection established.
Packet size 1k bytes: 108319 KByte/s Tx,
111268 KByte/s Rx.
Packet size 2k bytes: 111580 KByte/s Tx,
110064 KByte/s Rx.
Packet size 4k bytes: 110540 KByte/s Tx,
108005 KByte/s Rx.
Packet size 8k bytes: 110580 KByte/s Tx,
111529 KByte/s Rx.
Packet size 16k bytes: 111466 KByte/s Tx, 108286
KByte/s Rx.
Packet size 32k bytes: 112407 KByte/s Tx, 105209
KByte/s Rx.
Done.
netio runs on mostly all OS, some binaries for other operating
systems are also in the JWM/ Linux archive:
[JWM session] xtrnaw7@t61p Tue Oct 29 22:06:21
/var/tmp/jwm $ ls src/netio//bin
linux-i386 os2-i386.exe sol9-sparc
win32-i386.exe
netperf is a network performance tool. To use it start
netserver on one host and netperf on the other.
netserver usage
[xtrnaw7@t540p bin]$ ./netserver -h
Usage: netserver [options]
Options:
-h
Display this text
-D
Do not daemonize
-d
Increase debugging output
-f
Do not spawn chilren for each test, run serially
-L name,family Use name
to pick listen address and family for family
-N
No debugging output, even if netperf asks
-p
portnum Listen for
connect requests on portnum.
-4
Do IPv4
-6
Do IPv6
-v
verbosity Specify the
verbosity level
-V
Display version information and exit
-Z passphrase
Expect passphrase as the first thing received
netperf usage
[xtrnaw7@t540p bin]$ ./netperf -h
Usage: netperf [global options] -- [test options]
Global options:
-a
send,recv Set the local
send,recv buffer alignment
-A
send,recv Set the remote
send,recv buffer alignment
-B
brandstr Specify a
string to be emitted with brief output
-c [cpu_rate]
Report local CPU usage
-C [cpu_rate]
Report remote CPU usage
-d
Increase debugging output
-D time,[units] * Display interim results
at least every time interval
using units as the initial guess for units per second
A negative value for time will make heavy use of the
system's timestamping functionality
-f G|M|K|g|m|k Set the
output units
-F lfill[,rfill]* Pre-fill buffers with
data from specified file
-h
Display this text
-H name|ip,fam * Specify the target
machine and/or local ip and family
-i
max,min Specify
the max and min number of iterations (15,1)
-I lvl[,intvl] Specify
confidence level (95 or 99) (99)
and confidence interval in percentage (10)
-j
Keep additional timing statistics
-l
testlen Specify
test duration (>0 secs) (<0 bytes|trans)
-L name|ip,fam * Specify the local
ip|name and address family
-o
send,recv Set the local
send,recv buffer offsets
-O
send,recv Set the remote
send,recv buffer offset
-n
numcpu Set
the number of processors for CPU util
-N
Establish no control connection, do 'send' side only
-p port,lport* Specify
netserver port number and/or local port
-P
0|1
Don't/Do display test headers
-r
Allow confidence to be hit on result only
-s
seconds Wait
seconds between test setup and test start
-S
Set SO_KEEPALIVE on the data connection
-t
testname Specify test to
perform
-T
lcpu,rcpu Request
netperf/netserver be bound to local/remote cpu
-v
verbosity Specify the
verbosity level
-W
send,recv Set the number of
send,recv buffers
-v
level
Set the verbosity level (default 1, min 0)
-V
Display the netperf version and exit
-y local,remote Set the
socket priority
-Y local,remote Set the
IP_TOS. Use hexadecimal.
-Z passphrase Set
and pass to netserver a passphrase
For those options taking two parms, at least one must be
specified;
specifying one value without a comma will set both parms to
that
value, specifying a value with a leading comma will set just
the second
parm, a value with a trailing comma will set just the first.
To set
each parm to unique values, specify both and separate them
with a
comma.
* For these options taking two parms, specifying one value
with no comma
will only set the first parms and will leave the second at
the default
value. To set the second value it must be preceded with a
comma or be
a comma-separated pair. This is to retain previous netperf
behaviour.
"
netsniff-ng is a free Linux networking
toolkit, a Swiss army knife for your daily Linux network
plumbing if you will.
Its gain of performance is reached by zero-copy mechanisms,
so that on packet reception and transmission the
kernel does not need to copy packets from kernel space to user
space and vice versa.
Our toolkit can be used for network development and
analysis, debugging, auditing or network reconnaissance.
The netsniff-ng toolkit consists of the following utilities:
- netsniff-ng, a fast zero-copy analyzer, pcap
capturing and replaying tool
- trafgen, a multithreaded low-level zero-copy
network packet generator
- mausezahn, high-level packet generator for HW/SW
appliances with Cisco-CLI*
- bpfc, a Berkeley Packet Filter compiler, Linux BPF
JIT disassembler
- ifpps, a top-like kernel networking statistics tool
- flowtop, a top-like netfilter connection tracking
tool
- curvetun, a lightweight curve25519-based IP tunnel
- astraceroute, an autonomous system (AS) trace route
utility"
netsniff-ng usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ netsniff-ng
-h
netsniff-ng 0.6.3, the packet sniffing beast
http://www.netsniff-ng.org
Usage: netsniff-ng [options] [filter-expression]
Options:
-i|-d|--dev|--in <dev|pcap|-> Input
source as netdev, pcap or pcap stdin
-o|--out <dev|pcap|dir|cfg|-> Output sink
as netdev, pcap, directory, trafgen, or stdout
-C|--fanout-group
<id>
Join packet fanout group
-K|--fanout-type
<type> Apply
fanout discipline: hash|lb|cpu|rnd|roll|qm
-L|--fanout-opts
<opts>
Additional fanout options: defrag|roll
-f|--filter <bpf-file|-|expr> Use BPF
filter from bpfc file/stdin or tcpdump-like expression
-t|--type
<type>
Filter for: host|broadcast|multicast|others|outgoing
-F|--interval
<size|time> Dump
interval if -o is a dir:
<num>KiB/MiB/GiB/s/sec/min/hrs
-R|--rfraw
Capture or inject raw 802.11 frames
-n|--num
<0|uint>
Number of packets until exit (def: 0)
-P|--prefix
<name>
Prefix for pcaps stored in directory
-T|--magic
<pcap-magic>
Pcap magic number/pcap format to store, see -D
-w|--cooked
Use Linux "cooked" header instead of link header
-D|--dump-pcap-types
Dump pcap types and magic numbers and quit
-B|--dump-bpf
Dump generated BPF assembly
-r|--rand
Randomize packet forwarding order (dev->dev)
-M|--no-promisc
No promiscuous mode for netdev
-A|--no-sock-mem
Don't tune core socket memory
-N|--no-hwtimestamp
Disable hardware time stamping
-m|--mmap
Mmap(2) pcap file I/O, e.g. for replaying pcaps
-G|--sg
Scatter/gather pcap file I/O
-c|--clrw
Use slower read(2)/write(2) I/O
-S|--ring-size
<size>
Specify ring size to: <num>KiB/MiB/GiB
-k|--kernel-pull
<uint>
Kernel pull from user interval in us (def: 10us)
-J|--jumbo-support
Support replay/fwd 64KB Super Jumbo Frames (def: 2048B)
-b|--bind-cpu
<cpu>
Bind to specific CPU
-u|--user
<userid>
Drop privileges and change to userid
-g|--group
<groupid>
Drop privileges and change to groupid
-H|--prio-high
Make this high priority process
-Q|--notouch-irq
Do not touch IRQ CPU affinity of NIC
-s|--silent
Do not print captured packets
-q|--less
Print less-verbose packet information
-X|--hex
Print packet data in hex format
-l|--ascii
Print human-readable packet data
-U|--update
Update GeoIP databases
-V|--verbose
Be more verbose
-v|--version
Show version and exit
-h|--help
Guess what?!
Examples:
netsniff-ng --in eth0 --out dump.pcap -s -T
0xa1b2c3d4 --b 0 tcp or udp
netsniff-ng --in wlan0 --rfraw --out dump.pcap
--silent --bind-cpu 0
netsniff-ng --in dump.pcap --mmap --out eth0 -k1000
--silent --bind-cpu 0
netsniff-ng --in dump.pcap --out dump.cfg --silent
--bind-cpu 0
netsniff-ng --in dump.pcap --out dump2.pcap --silent
tcp
netsniff-ng --in eth0 --out eth1 --silent --bind-cpu
0 -J --type host
netsniff-ng --in eth1 --out /opt/probe/ -s -m
--interval 100MiB -b 0
netsniff-ng --in vlan0 --out dump.pcap -c -u `id -u
bob` -g `id -g bob`
netsniff-ng --in any --filter http.bpf
--jumbo-support --ascii -V
Note:
For introducing bit errors, delays with random
variation and more
while replaying pcaps, make use of tc(8) with its
disciplines (e.g. netem).
Please report bugs to <netsniff-ng@googlegroups.com>
Copyright (C) 2009-2013 Daniel Borkmann
<dborkma@tik.ee.ethz.ch>
Copyright (C) 2009-2012 Emmanuel Roullit
<emmanuel.roullit@gmail.com>
Copyright (C) 2012 Markus Amend
<markus@netsniff-ng.org>
Swiss federal institute of technology (ETH Zurich)
License: GNU GPL version 2.0
This is free software: you are free to change and
redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
trafgen usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ trafgen -h
trafgen 0.6.3, multithreaded zero-copy network packet
generator
http://www.netsniff-ng.org
Usage: trafgen [options] [packet]
Options:
-i|-c|--in|--conf
<cfg/-> Packet
configuration file/stdin
-o|-d|--out|--dev
<netdev> Networking device
i.e., eth0
-p|--cpp
Run packet config through C preprocessor
-D|--define
Add macro/define for C preprocessor
-J|--jumbo-support
Support 64KB super jumbo frames (def: 2048B)
-R|--rfraw
Inject raw 802.11 frames
-s|--smoke-test
<ipv4>
Probe if machine survived fuzz-tested packet
-n|--num
<uint>
Number of packets until exit (def: 0)
-r|--rand
Randomize packet selection (def: round robin)
-P|--cpus
<uint>
Specify number of forks(<= CPUs) (def: #CPUs)
-t|--gap
<time>
Set approx. interpacket gap (s/ms/us/ns, def: us)
-b|--rate
<rate>
Send traffic at specified rate
(pps/B/kB/MB/GB/kbit/Mbit/Gbit/KiB/MiB/GiB)
-S|--ring-size
<size>
Manually set mmap size (KiB/MiB/GiB)
-E|--seed
<uint>
Manually set srand(3) seed
-u|--user
<userid>
Drop privileges and change to userid
-g|--group
<groupid>
Drop privileges and change to groupid
-H|--prio-high
Make this high priority process
-A|--no-sock-mem
Don't tune core socket memory
-Q|--notouch-irq
Do not touch IRQ CPU affinity of NIC
-q|--qdisc-path
Enable qdisc kernel path (default off since 3.14)
-V|--verbose
Be more verbose
-C|--no-cpu-stats
Do not print CPU time statistics on exit
-v|--version
Show version and exit
-e|--example
Show built-in packet config example
-h|--help
Guess what?!
Examples:
trafgen --dev eth0 --conf trafgen.cfg
trafgen -e | trafgen -i - -o eth0 --cpp -n 1
trafgen --dev eth0 --conf fuzzing.cfg --smoke-test
10.0.0.1
trafgen --dev wlan0 --rfraw --conf beacon-test.txf -V
--cpus 2
trafgen --dev eth0 --conf frag_dos.cfg --rand --gap
1000us
trafgen --dev eth0 --conf icmp.cfg --rand --num
1400000 -k1000
trafgen --dev eth0 --conf tcp_syn.cfg -u `id -u bob`
-g `id -g bob`
trafgen --dev eth0 '{ fill(0xff, 6), 0x00, 0x02,
0xb3, rnd(3), c16(0x0800), fill(0xca, 64) }'
Arbitrary packet config examples (e.g. trafgen -e >
trafgen.cfg):
Run packet on all
CPUs:
{ fill(0xff, 64) csum16(0, 64) }
Run packet only on CPU1:
cpu(1): { rnd(64), 0b11001100, 0xaa }
Run packet only on CPU1-2: cpu(1-2): {
drnd(64),'a',csum16(1, 8),'b',42 }
Generate config files from existing pcap using netsniff-ng:
netsniff-ng --in dump.pcap --out dump.cfg
Note:
Smoke/fuzz test example: machine A, 10.0.0.2
(trafgen) is directly
connected to machine B (test kernel), 10.0.0.1. If
ICMP reply fails
we assume the kernel crashed, thus we print the
packet and quit.
In case you find a ping-of-death, please mention
trafgen in your
commit message of the fix!
For introducing bit errors, delays with random
variation and more,
make use of tc(8) with its different disciplines,
i.e. netem.
For generating different package distributions, you
can use scripting
to generate a trafgen config file with packet ratios
as:
IMIX
64:7, 570:4, 1518:1
Tolly
64:55, 78:5, 576:17, 1518:23
Cisco
64:7, 594:4, 1518:1
RPR
Trimodal 64:60, 512:20, 1518:20
RPR Quadrimodal 64:50,
512:15, 1518:15, 9218:20
Please report bugs to <netsniff-ng@googlegroups.com>
Copyright (C) 2011-2013 Daniel Borkmann
<dborkma@tik.ee.ethz.ch>,
Swiss federal institute of technology (ETH Zurich)
License: GNU GPL version 2.0
This is free software: you are free to change and
redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
ifpps usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ ifpps -h
ifpps 0.6.3, top-like kernel networking and system
statistics
http://www.netsniff-ng.org
Usage: ifpps [options] || ifpps <netdev>
Options:
-d|--dev <netdev>
Device to fetch statistics for e.g., eth0
-n|--num-cpus <num> Number of
top hitter CPUs in ncurses mode (def: 5)
-t|--interval <time> Refresh time
in ms (default 1000 ms)
-c|--csv
Output to terminal as Gnuplot-ready data
-l|--loop
Continuous CSV output
-m|--median
Display median values
-o|--omit-header
Do not print the CSV header
-p|--promisc
Promiscuous mode
-P|--percentage
Show percentage of theoretical line rate
-W|--no-warn
Suppress warnings
-v|--version
Print version and exit
-h|--help
Print this help and exit
Examples:
ifpps eth0
ifpps -pd eth0
ifpps -lpcd wlan0 > plot.dat
Note:
On 10G cards, RX/TX statistics are usually
accumulated each > 1sec.
Thus, in those situations, it's good to use a -t of
10sec.
Please report bugs to <netsniff-ng@googlegroups.com>
Copyright (C) 2009-2013 Daniel Borkmann
<dborkma@tik.ee.ethz.ch>
Swiss federal institute of technology (ETH Zurich)
Copyright (C) 2013 Tobias Klauser
<tklauser@distanz.ch>
License: GNU GPL version 2.0
This is free software: you are free to change and
redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
mausezahn usage
xxx
to be done
xxxx
bpfc usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ bpfc -h
bpfc 0.6.3, a tiny BPF compiler
http://www.netsniff-ng.org
Usage: bpfc [options] || bpfc <program>
Options:
-i|--input <program/-> Berkeley Packet
Filter file/stdin
-p|--cpp
Run bpf program through C preprocessor
-D|--define
Add macro/define for C preprocessor
-f|--format <format> Output
format: C|netsniff-ng|xt_bpf|tcpdump
-b|--bypass
Bypass filter validation (e.g. for bug testing)
-V|--verbose
Be more verbose
-d|--dump
Dump supported instruction table
-v|--version
Print version and exit
-h|--help
Print this help and exit
Examples:
bpfc fubar
bpfc fubar > foo (bpfc -f C -i fubar > foo)
--> netsniff-ng -f foo ...
bpfc -f tcpdump -i fubar > foo -->
tcpdump -ddd like ...
bpfc -f xt_bpf -b -p -i fubar
iptables -A INPUT -m bpf --bytecode "`./bpfc -f
xt_bpf -i fubar`" -j LOG
bpfc - (read from stdin)
Note:
Generation of seccomp-BPF filters are fully supported
as well.
Please report bugs to <netsniff-ng@googlegroups.com>
Copyright (C) 2011-2013 Daniel Borkmann
<dborkma@tik.ee.ethz.ch>,
Swiss federal institute of technology (ETH Zurich)
License: GNU GPL version 2.0
This is free software: you are free to change and
redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
flowtop usage
xxxx
to be done
xxxx
curvetun usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ curvetun -h
curvetun 0.6.2+, lightweight curve25519-based IP tunnel
http://www.netsniff-ng.org
Usage: curvetun [options]
Options, general:
-d|--dev
<tun>
Networking tunnel device, e.g. tun0
-p|--port
<num>
Server port number (mandatory)
-t|--stun
<server> Show public
IP/Port mapping via STUN
-c|--client[=alias] Client
mode, server alias optional
-k|--keygen
Generate public/private keypair
-x|--export
Export your public data for remote servers
-C|--dumpc
Dump parsed clients
-S|--dumps
Dump parsed servers
-D|--nofork [JWM
session] [xtrnaw7@t540p /var/tmp/jwm]$ curvetun -h
curvetun 0.6.2+, lightweight curve25519-based IP tunnel
http://www.netsniff-ng.org
Usage: curvetun [options]
Options, general:
-d|--dev
<tun>
Networking tunnel device, e.g. tun0
-p|--port
<num>
Server port number (mandatory)
-t|--stun
<server> Show public
IP/Port mapping via STUN
-c|--client[=alias] Client
mode, server alias optional
-k|--keygen
Generate public/private keypair
-x|--export
Export your public data for remote servers
-C|--dumpc
Dump parsed clients
-S|--dumps
Dump parsed servers
-D|--nofork
Do not daemonize
-s|--server
Server mode, options follow below
-N|--no-logging
Disable server logging (for better anonymity)
-u|--udp
Use UDP as carrier instead of TCP
-4|--ipv4
Tunnel devices are IPv4
-6|--ipv6
Tunnel devices are IPv6
-v|--version
Print version and exit
-h|--help
Print this help and exit
Example:
See curvetun's man page for a configuration example.
curvetun --server -4 -u -N --port 6666 --stun
stunserver.org
curvetun --client=ethz
curvetun --keygen
curvetun --export
Note:
There is no default port specified, so that you are
forced
to select your own! For client/server status messages
see syslog!
This software is an experimental prototype intended
for researchers.
Secret ingredient: 7647-14-5
Please report bugs to <netsniff-ng@googlegroups.com>
Copyright (C) 2011-2013 Daniel Borkmann
<dborkma@tik.ee.ethz.ch>,
Swiss federal institute of technology (ETH Zurich)
License: GNU GPL version 2.0
This is free software: you are free to change and
redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
Do not daemonize
-s|--server
Server mode, options follow below
-N|--no-logging
Disable server logging (for better anonymity)
-u|--udp
Use UDP as carrier instead of TCP
-4|--ipv4
Tunnel devices are IPv4
-6|--ipv6
Tunnel devices are IPv6
-v|--version
Print version and exit
-h|--help
Print this help and exit
Example:
See curvetun's man page for a configuration example.
curvetun --server -4 -u -N --port 6666 --stun
stunserver.org
curvetun --client=ethz
curvetun --keygen
curvetun --export
Note:
There is no default port specified, so that you are
forced
to select your own! For client/server status messages
see syslog!
This software is an experimental prototype intended
for researchers.
Secret ingredient: 7647-14-5
Please report bugs to <netsniff-ng@googlegroups.com>
Copyright (C) 2011-2013 Daniel Borkmann
<dborkma@tik.ee.ethz.ch>,
Swiss federal institute of technology (ETH Zurich)
License: GNU GPL version 2.0
This is free software: you are free to change and
redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
astraceroute usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ astraceroute
-h
astraceroute 0.6.3, autonomous system trace route utility
http://www.netsniff-ng.org
Usage: astraceroute [options]
Options:
-H|--host
<host>
Host/IPv4/IPv6 to lookup AS route to
-p|--port
<port> Hosts
port to lookup AS route to
-i|-d|--dev <device>
Networking device, e.g. eth0
-b|--bind
<IP>
IP address to bind to, Must specify -6 for an IPv6 address
-f|--init-ttl <ttl> Set
initial TTL
-m|--max-ttl <ttl>
Set maximum TTL (def: 30)
-q|--num-probes <num> Number of max
probes for each hop (def: 2)
-x|--timeout <sec>
Probe response timeout in sec (def: 3)
-X|--payload <string> Specify a
payload string to test DPIs
-l|--totlen
<len> Specify
total packet len
-4|--ipv4
Use IPv4-only requests
-6|--ipv6
Use IPv6-only requests
-n|--numeric
Do not do reverse DNS lookup for hops
-u|--update
Update GeoIP databases
-L|--latitude
Show latitude and longitude
-N|--dns
Do a reverse DNS lookup for hops
-S|--syn
Set TCP SYN flag
-A|--ack
Set TCP ACK flag
-F|--fin
Set TCP FIN flag
-P|--psh
Set TCP PSH flag
-U|--urg
Set TCP URG flag
-R|--rst
Set TCP RST flag
-E|--ecn-syn
Send ECN SYN packets (RFC3168)
-t|--tos
<tos>
Set the IP TOS field
-G|--nofrag
Set do not fragment bit
-Z|--show-packet
Show returned packet on each hop
-v|--version
Print version and exit
-h|--help
Print this help and exit
Examples:
IPv4 trace of AS with TCP SYN probe (this will
most-likely pass):
astraceroute -i eth0 -N -S -H
netsniff-ng.org
IPv4 trace of AS with TCP ECN SYN probe:
astraceroute -i eth0 -N -E -H
netsniff-ng.org
IPv4 trace of AS with TCP FIN probe:
astraceroute -i eth0 -N -F -H
netsniff-ng.org
IPv4 trace of AS with Xmas probe:
astraceroute -i eth0 -N -FPU -H
netsniff-ng.org
IPv4 trace of AS with Null probe with ASCII payload:
astraceroute -i eth0 -N -H
netsniff-ng.org -X "censor-me" -Z
IPv6 trace of AS up to www.6bone.net:
astraceroute -6 -i eth0 -S -E -N -H
www.6bone.net
Note:
If the TCP probe did not give any results, then
astraceroute will
automatically probe for classic ICMP packets! To
gather more
information about astraceroute's fetched AS numbers,
see e.g.
http://bgp.he.net/AS<number>!
Please report bugs to <netsniff-ng@googlegroups.com>
Copyright (C) 2011-2013 Daniel Borkmann
<dborkma@tik.ee.ethz.ch>
Swiss federal institute of technology (ETH Zurich)
License: GNU GPL version 2.0
This is free software: you are free to change and
redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
netsniff-ng examples
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
sbin/netsniff-ng --in enp0s25
Running! Hang up with ^C!
> enp0s25 72 1480239767s.341055209ns #1
[ Eth MAC (54:ee:75:05:d4:4e => 00:13:49:ee:80:1b),
Proto (0x0800, IPv4) ]
[ Vendor (Wistron InfoComm(Kunshan)Co.,Ltd. =>
ZyXEL Communications Corporation) ]
[ IPv4 Addr (192.168.1.164 => 192.168.1.1), Proto
(17), TTL (64), TOS (0), Ver (4), IHL (5), Tlen (58), ID
(14455), Res (0), NoFrag (1), MoreFrag (0), FragOff (0),
CSum (0x7e46) is ok ]
[ UDP Port (50845 => 53 (domain)), Len (38 Bytes,
30 Bytes Data), CSum (0x842d) ]
[ Chr .............www.hiese.de..... ]
[ Hex 96 19 01 00 00 01 00 00 00 00 00 00 03 77
77 77 05 68 69 65 73 65 02 64 65 00 00 01 00 01 ]
< enp0s25 88 1480239767s.700628928ns #2
[ Eth MAC (00:13:49:ee:80:1b => 54:ee:75:05:d4:4e),
Proto (0x0800, IPv4) ]
[ Vendor (ZyXEL Communications Corporation =>
Wistron InfoComm(Kunshan)Co.,Ltd.) ]
[ IPv4 Addr (192.168.1.1 => 192.168.1.164), Proto
(17), TTL (255), TOS (0), Ver (4), IHL (5), Tlen (74), ID
(9082), Res (0), NoFrag (1), MoreFrag (0), FragOff (0), CSum
(0xd432) is ok ]
[ UDP Port (53 (domain) => 50845), Len (54 Bytes,
46 Bytes Data), CSum (0xff1a) ]
[ Chr .............www.hiese.de..................... ]
[ Hex 96 19 81 80 00 01 00 01 00 00 00 00 03 77
77 77 05 68 69 65 73 65 02 64 65 00 00 01 00 01 c0 0c 00 01
00 01 00 00 a8 c0 00 04 d4 e3 9b c3 ]
> enp0s25 98 1480239767s.361041456ns #3
[ Eth MAC (54:ee:75:05:d4:4e => 00:13:49:ee:80:1b),
Proto (0x0800, IPv4) ]
[ Vendor (Wistron InfoComm(Kunshan)Co.,Ltd. =>
ZyXEL Communications Corporation) ]
[ IPv4 Addr (192.168.1.164 => 212.227.155.195),
Proto (1), TTL (64), TOS (0), Ver (4), IHL (5), Tlen (84),
ID (48274), Res (0), NoFrag (1), MoreFrag (0), FragOff (0),
CSum (0x4b23) is ok ]
[ ICMP Type (8), Code (0), CSum (0xe99e) is ok ]
[ Chr ..:X....5.......................
!"#$%&'()*+,-./01234567 ]
[ Hex 97 aa 3a 58 00 00 00 00 35 82 05 00 00 00
00 00 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21
22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35
36 37 ]
< enp0s25 98 1480239767s.713705248ns #4
[ Eth MAC (00:13:49:ee:80:1b => 54:ee:75:05:d4:4e),
Proto (0x0800, IPv4) ]
[ Vendor (ZyXEL Communications Corporation =>
Wistron InfoComm(Kunshan)Co.,Ltd.) ]
[ IPv4 Addr (212.227.155.195 => 192.168.1.164),
Proto (1), TTL (56), TOS (0), Ver (4), IHL (5), Tlen (84),
ID (13590), Res (0), NoFrag (0), MoreFrag (0), FragOff (0),
CSum (0x1aa0) is ok ]
[ ICMP Type (0), Code (0), CSum (0xf19e) is ok ]
[ Chr ..:X....5.......................
!"#$%&'()*+,-./01234567 ]
[ Hex 97 aa 3a 58 00 00 00 00 35 82 05 00 00 00
00 00 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21
22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35
36 37 ]
...
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
sbin/ifpps --dev enp0s25
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
sbin/flowtop --no-geoip
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
LD_LIBRARY_PATH= sudo sbin/astraceroute -i
enp0s25 -N -FPU -H netsniff-ng.org
AS path IPv4 TCP trace from 192.168.1.164 to 213.133.104.62:80
(netsniff-ng.org) with len 40 Bytes, 30 max hops
Using flags SYN:0,ACK:0,ECN:0,FIN:1,PSH:1,RST:0,URG:1
1: i[ 1485 us] zyxel (192.168.1.1)
2: i[ 6582 us]
dslb-084-059-072-001.084.059.pools.vodafone-ip.de (84.59.72.1)
in AS3209 Vodafone GmbH in Germany, Bodenheim
3: i[ 6208 us] 188.111.222.106 in AS3209
Vodafone GmbH in Germany
4: i[ 6630 us] 188.111.217.204 in AS3209
Vodafone GmbH in Germany
5: i[ 6187 us] 92.79.212.45 in AS3209
Vodafone GmbH in Germany
6: i[ 6425 us] 145.254.2.175 in AS3209
Vodafone GmbH in Germany
7: i[ 6204 us] decix2-gw.hetzner.de
(80.81.193.164) in AS47872 Sofia Connect EOOD in Germany,
Frankfurt Am Main
8: i[ 9392 us] core11.hetzner.de
(213.239.245.34) in AS24940 Hetzner Online GmbH in Germany
9: i[ 9237 us] ex9k2.rz1.hetzner.de
(213.239.203.214) in AS24940 Hetzner Online GmbH in Germany
...
nmon is another top replacement, usage:
nmon usage
[xtrnaw7@t15g /var/tmp/jwm/src/nmon]$
/var/tmp/jwm/bin/nmon -h
Hint for nmon version 16n
Full Help Info : nmon -h
On-screen Stats: nmon
Data Collection: nmon -f [-s
<seconds>] [-c <count>] [-t|-T]
Capacity Plan : nmon -x
Interactive-Mode:
Read the Welcome screen & at any time
type: "h" for more help
Type "q" to exit nmon
For Data-Collect-Mode
-f
Must be the first option on the line (switches off
interactive mode)
Saves data to a CSV Spreadsheet format .nmon file in then
local directory
Note: -f sets a defaults -s300 -c288 which
you can then modify
Further Data Collection Options:
-s <seconds> time between
data snapshots
-c <count> of
snapshots before exiting
-t
Includes Top Processes stats (-T also collects command
arguments)
-x
Capacity Planning=15 min snapshots for 1 day. (nmon -ft -s
900 -c 96)
---- End of Hints
---- Full Help Information for nmon 16n
For Interactive and Data Collection Mode:
User Defined Disk Groups (DG) - This
works in both modes
It is a work around Linux issues, where
disks & partitions are mixed up in /proc files
& drive driver developers use bizarre
device names, making it trick to separate them.
-g <filename> Use this file to
define the groups
- On each line: group-name <disks-list>
(space separated list)
- Example line: database sdb sdc sdd sde
- Up to 64 disk groups, 512 disks per line
- Disks names can appear more than one group
-g
auto - Will generate a
file called "auto" with just disks from "lsblk|grep disk"
output
For Interactive use define the
groups then type: g or G
For Data Capture defining the
groups switches on data collection
Data-Collect-Mode = spreadsheet format (i.e. comma separated
values)
Note: Use only one of f, F, R, x, X or z
to switch on Data Collection mode
Note: Make it the first argument then use
other options to modify the defaults
Note: Don't collect data that you don't
want - it just makes the files too large
Note: Too many snapshots = too much data
and crashes Analyser and other tools
Note: 500 to 800 snapshots make a good
graph on a normal size screen
Recommended normal minimal options:
snapshots every 2 minutes all day:
Simple
capture: nmon -f -s 120
-c 720
With Top
Procs: nmon -fT -s 120 -c 720
Set the
directory: nmon -fT -s 120 -c 720 -m
/home/nag/nmon
Capture a busy hour:
nmon -fT -s 5 -c 720 -m /home/nag/nmon
For Data-Collect-Mode Options
-f
spreadsheet output format [note: default -s300 -c288]
output file is <hostname>_YYYYMMDD_HHMM.nmon
-F <filename> same as -f but user
supplied filename
Not recommended as the default file name is perfect
The other options in alphabetical order:
-a
Include Accelerator GPU stats
-b
Online only: for black and white mode (switch off colour)
-c <number> The number
of snapshots before nmon stops
-d <disks> To set
the maximum number of disks [default 256]
Ignores disks if the systems has 100's of disk or the config
is odd!
-D
Use with -g to add the Disk Wait/Service Time &
in-flight stats
-f and -F See
above
-g <filename> User Defined Disk
Groups (see above) - Data Capture: Generates BBBG
& DG lines
-g
auto See above but makes
the file "auto" for you of just the disks like sda etc.
-h
This help output
-I <percent> Set the ignore
process & disks busy threshold (default 0.1%)
Don't save or show proc/disk using less than this percent
-J
Switch-off Journel Filesystem stats collection (can causes
issues with automound NFS)
-l
<dpl> Disks per line in
data capture to avoid spreadsheet width issues. Default 150.
EMC=64.
-m <directory> nmon changes to this
directory before saving to file
Useful when starting nmon via cron
-M
Adds MHz stats for each CPU thread. Some POWER8 model CPU
cores can be different frequencies
-N
Include NFS Network File System for V2, V3 and V4
-p
nmon outputs the PID when it starts. Useful in scripts to
capture the PID for a later safe stop.
-r <runname> Use in a
benchmark to record the run details for later analysis
[default hostname]
-R
Old rrdtool format used by some - may be
removed in the future. If you use this email Nigel
-s <seconds> Time between
snap shots - with "-c count" decides duration of the data
capture
-t
Include Top Processes in the output
-T
As -t plus it saves command line arguments in UARG section
-U
Include the Linux 10 CPU utilisation stats (CPUUTIL lines in
the file)
-V
Print nmon version & exit immediately
To manually load nmon files into a
spreadsheet:
sort -A *nmon
>stats.csv
Transfer the stats.csv
file to your PC
Start spreadsheet
& then Open with type=comma-separated-value ASCII file
This puts every datum
in a different cell
Now select the data of
one type (same 1st column) and graph it
The nmon Analyser
& other tools do not need the file sorted.
Capacity Planning mode - use cron to run each day
-x
Sensible spreadsheet output for one day
Every 15 mins for 1 day ( i.e. -ft -s 900 -c 96)
-X
Sensible spreadsheet output for busy hour
Every 30 secs for 1 hour ( i.e. -ft -s 30 -c 120)
-z
Like -x but the output saved in /var/perf/tmp assuming root
user
Interactive Mode Keys in Alphabetical Order
Start nmon then type the letters below to
switch on & off particular stats
The stats are always in the same order
on-screen
To see more stats: make the font smaller
or use two windows
Key --- Toggles on off to control what is
displayed ---
b = Black and white mode (or
use -b command line option)
c = CPU Utilisation stats
with bar graphs (CPU core threads)
C = CPU Utilisation as above
but concise wide view (up to 192 CPUs)
d = Disk I/O Busy% &
Graphs of Read and Write KB/s
D = Disk I/O Numbers
including Transfers, Average Block Size & Peaks (type: 0
to reset)
g = User Defined Disk
Groups
(assumes -g <file> when starting nmon)
G = Change Disk stats (d) to
just disks (assumes -g auto when starting nmon)
h = This help information
j = File Systems including
Journal File Systems
J = Reduces "j" output
by removing unreal File Systems
k = Kernel stats Run Queue,
context-switch, fork, Load Average & Uptime
l = Long term Total CPU (over
75 snapshots) via bar graphs
L = Large and =Huge memory
page stats
m = Memory & Swap stats
M = MHz for machines with
variable frequency 1st=Threads 2nd=Cores 3=Graphs
n = Network stats &
errors (if no errors it disappears)
N = NFS - Network File System
1st NFS V2
& V3, 2nd=NFS4-Client & 3rd=NFS4-Server
o = Disk I/O Map (one
character per disk pixels showing how busy it is)
Particularly good if you have 100's of disks
q = Quit
r = Resources: Machine type,
name, cache details & OS version & Distro + LPAR
t = Top Processes: select the
data & order 1=Basic, 3=Perf 4=Size 5=I/O=root only
u = Top Process with command
line details
U = CPU utilisation stats -
all 10 Linux stats:
user,
user_nice, system, idle, iowait, irq, softirq, steal, guest,
guest_nice
v = Experimental Verbose mode
- tries to make recommendations
V = Virtual Memory stats
Key --- Other Interactive Controls ---
+ = Double the screen refresh
time
- = Halves the screen refresh
time
0 = Reset peak counts to zero
(peak highlight with ">")
1 = Top Processes mode 1
Nice, Priority, Status
3 = Top Processes mode 3 CPU,
Memory, Faults
4 = Top Processes mode 4 as 3
but order by memory
5 = Top Processes mode 5 as 3
but order by I/O (if root user)
6 = Highlights 60% row on
Long Term CPU view
7 = Highlights 70% row on
Long Term CPU view
8 = Highlights 80% row on
Long Term CPU view
9 = Highlights 90% row on
Long Term CPU view
. = Minimum mode i.e. only
busy disks and processes shown
space = Refresh screen now
Interactive Start-up Control
If you find you always type the same
toggles every time you start
then place them in the NMON shell
variable. For example:
export NMON=cmdrtn
Other items for Interactive and Data Collection mode:
a) To limit the processes nmon lists
(online and to a file)
either set NMONCMD0 to
NMONCMD63 to the program names
or use -C cmd:cmd:cmd
etc. example: -C ksh:vi:syncd
Other items for Data Collection mode:
b) To you want to stop nmon use: kill
-USR2 <nmon-pid>
c) Use -p and nmon outputs the background
process pid
d) If you want to pipe nmon output to
other commands use a FIFO:
mkfifo /tmp/mypipe
nmon -F /tmp/mypipe
&
tail -f /tmp/mypipe
e) If nmon fails please report it with:
1) nmon version like: 16n
2) the output of: cd /proc;
cat cpuinfo meminfo partitions stat vmstat
3) some clue of what you
were doing
4) I may ask you to run the
debug version or collect data files
f) If box & line characters are
letters then check: terminal emulator & $TERM
g) External Data Collectors - nmon will
execute a command or script at each snapshot time
They must output to a
different file which is merge afterwards with the nmon
output
Set the following shell
variables:
NMON_START =
script to generate CVS Header test line explaining the
columns
Generate:
TabName,DataDescription,Column_name_and_units,Column_name_and_units
...
NMON_SNAP
= script for each snapshots data, the parameter is the T0000
snapshot number
Generate:
TabName,T00NN,Data,Data,Data ...
NMON_END = script to clean up or finalise
the data
NMON_ONE_IN = call
NMON_START less often (if it is heavy in CPU terms)
Once capture done: cat
nmon-file data-file >merged-file ; ready for Analyser or
other tools
The nmon Analyser will
automatically do its best to graph the data on a new Tab
sheet
Developer: Nigel
Griffiths See
http://nmon.sourceforge.net
Feedback welcome - On the current release
only
No warranty given or implied. (C)
Copyright 2009 Nigel Griffiths GPLv3
[xtrnaw7@t15g /var/tmp/jwm/src/nmon]$
"
nmonchart is a Korn shell script for AIX or
Linux to convert
nmon collected
files to a webpage (.html) including Google Chart and JavaScript
to display the top 53+ AIX and Linux Performance Graphs and
configuration details"
nmonchart Usage example
You can use nmonchart to create an html page
with graphics from files created by nmon, e.g.
# start nmon to collect the data to a file, e.g:
#
[xtrnaw7@t540p /var/tmp/jwm/bin]$ ./nmon -s 20 -c 360 -F
./nmondata.nmon
# Note: nmon switches to the background if collecting to a
file
#
[xtrnaw7@t540p /var/tmp/jwm/bin]$ ps -ef | grep nmon
xtrnaw7 5652 1 0
18:33 pts/7 00:00:00 ./nmon -s 20 -c 360
-F ./nmondata.nmon
xtrnaw7 5770 8849 0 18:33
pts/7 00:00:00 grep --color=auto nmon
[xtrnaw7@t540p /var/tmp/jwm/bin]$
# Then create an html page from the output file, e.g
[xtrnaw7@t540p /var/tmp/jwm/bin]$ cd /nmonchart
[xtrnaw7@t540p /var/tmp/jwm/bin]$ ./nmonchart
./nmondata.nmon test.html
The created html page looks like this :
nmonanalyzer , the
Java Nmon Analyzer
, can be used to create dynamic graphics of the data collected
by
nmon.
Java Nmon Analyzer usage example
(Note: The example is from the webpage http://linoxide.com/monitoring-2/install-nmon-monitor-linux-performance/)
# create a named pipe
#
[xtrnaw7@t540p /var/tmp/jwm/bin]$ mkfifo /tmp/nmonnamedpipe
[xtrnaw7@t540p /var/tmp/jwm/bin]$ java -cp
nmonanal_0.1.2.jar li.xiang.nmonanalyser.agent.Agent
[2016-12-28 18:18:42]: ----- Agent Configuration -----
[2016-12-28 18:18:42]: Nmon out
pipe
:/tmp/nmonnamedpipe
[2016-12-28 18:18:42]: Agent listening port :8187
[2016-12-28 18:18:42]: Maximum Connection :20
[2016-12-28 18:18:42]: -------------------------------
[2016-12-28 18:18:42]: Ageng Server Socket lisening on :8187
[2016-12-28 18:19:11]: named pipe reader thread started.
# in another session start nmon to write to the named pipe
#
[xtrnaw7@t540p /var/tmp/jwm/bin]$ ./nmon -s 20 -c 360 -F
/tmp/nmonnamedpipe
# Note: nmon will switch to the background:
#
[xtrnaw7@t540p /var/tmp/jwm/bin]$ ps -ef | grep nmon
xtrnaw7 4478 3303 0 18:18
pts/2 00:00:00 java -cp nmonanal_0.1.2.jar
li.xiang.nmonanalyser.agent.Agent
xtrnaw7 4572 1 0
18:19 pts/7 00:00:00 ./nmon -s 20 -c 360
-F /tmp/nmonnamedpipe
xtrnaw7 4695 8849 0 18:19
pts/7 00:00:00 grep --color=auto nmon
[xtrnaw7@t540p /var/tmp/jwm/bin]$
# then start the Java Nmon Analyzer
#
[xtrnaw7@t540p /var/tmp/jwm/bin]$ java -jar
nmonanal_0.1.2.jar
# In the Java Nmon Analyzer then connect to the agent using
the menu entry "Data Loader / From Agent": enter the
hostname and the port used (see the output of the agent; in
this example the hostname is localhost and the port is 8187)
# and after a few seconds the Java Nmon Analyzer shows the
data:
Note: You can also use nmon to write the data in a file and
then later analyze this file with Nmon Analyzer.
"NumaTOP is an observation tool for runtime
memory locality characterization and analysis of processes and
threads running on a NUMA system. It helps the user characterize
the NUMA behavior of processes and threads and identify where
the NUMA-related performance bottlenecks reside."
Please note that numatop requires a current Linux release and a
NUMA capable processor.
"
OProfile is a system-wide profiler for Linux systems,
capable of profiling all running code at low overhead."
ocount, opannotate, oparchive, op-check-perfevents, opcontrol,
operf, opgprof, ophelp, opimport
opjitconf, opreport, and oprofiled are the tools from the
oprofile package.
Please the documentation of oprofile for more indepth
information.
"
P0f is a tool that utilizes an array of sophisticated,
purely passive traffic fingerprinting mechanisms to identify the
players behind any incidental TCP/IP communications (often as
little as a single normal SYN) without interfering in any way.
Version 3 is a complete rewrite of the original codebase,
incorporating a significant number of improvements to
network-level fingerprinting, and introducing the ability to
reason about application-level payloads (e.g., HTTP).
Some of p0f's capabilities include:
- Highly scalable and extremely fast identification of the
operating system and software on both endpoints of a vanilla
TCP connection - especially in settings where NMap probes are blocked,
too slow, unreliable, or would simply set off alarms.
- Measurement of system uptime and network hookup, distance
(including topology behind NAT or packet filters), user
language preferences, and so on.
- Automated detection of connection sharing / NAT, load
balancing, and application-level proxying setups.
- Detection of clients and servers that forge declarative
statements such as X-Mailer or User-Agent.
The tool can be operated in the foreground or as a daemon, and
offers a simple real-time API for third-party components that
wish to obtain additional information about the actors they are
talking to."
p0f usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ p0f -h
--- p0f 3.08b by Michal Zalewski <lcamtuf@coredump.cx>
---
p0f: invalid option -- 'h'
Usage: p0f [ ...options... ] [ 'filter rule' ]
Network interface options:
-i iface - listen on the specified network
interface
-r file - read offline pcap data from a
given file
-p - put
the listening interface in promiscuous mode
-L - list
all available interfaces
Operating mode and output settings:
-f file - read fingerprint database from
'file' (p0f.fp)
-o file - write information to the
specified log file
-s name - answer to API queries at a
named unix socket
-u user - switch to the specified
unprivileged account and chroot
-d - fork
into background (requires -o or -s)
Performance-related options:
-S limit - limit number of parallel API
connections (20)
-t c,h - set connection / host
cache age limits (30s,120m)
-m c,h - cap the number of active
connections / hosts (1000,10000)
Optional filter expressions (man tcpdump) can be specified
in the command
line to prevent p0f from looking at incidental network
traffic.
Problems? You can reach the author at
<lcamtuf@coredump.cx>.
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
p0f example
[JWM session] [root@t540p p0f-3.08b]# ./p0f -i em1 -p
--- p0f 3.08b by Michal Zalewski <lcamtuf@coredump.cx>
---
[+] Closed 1 file descriptor.
[+] Loaded 320 signatures from 'p0f.fp'.
[+] Intercepting traffic on interface 'em1'.
[+] Default packet filtering configured [+VLAN].
[+] Entered main event loop.
.-[ 192.168.1.164/54221 -> 192.168.1.154/9999 (syn) ]-
|
| client = 192.168.1.164/54221
| os = Linux 3.11 and
newer
| dist = 0
| params = none
| raw_sig =
4:64+0:0:1460:mss*20,7:mss,sok,ts,nop,ws:df,id+:0
|
`----
.-[ 192.168.1.164/54221 -> 192.168.1.154/9999 (mtu) ]-
|
| client = 192.168.1.164/54221
| link = Ethernet or modem
| raw_mtu = 1500
|
...
"
pagemon is an interactive memory/page monitoring tool
allowing one to browse the memory map of an active running
process on Linux."
pagemon usage
[xtrnaw7@t15g /var/tmp/jwm/src]$ ../sbin/pagemon -h
pagemon, version 0.02.04
Usage: pagemon [options]
-a enable
automatic zoom mode
-d delay in
microseconds between refreshes, default 15000
-h help
-p pid process ID to monitor
-r read
(page back in) pages at start
-t ticks ticks between dirty page checks
-v enable VM
view
-z zoom set page zoom scale
[xtrnaw7@t15g /var/tmp/jwm/src]$
Example:
[JWM session] [xtrnaw7@t540p /var/tmp/jwm/src]$ sudo
../sbin/pagemon -p $$
pchar is a tool to monitor the network performance
between two hosts in great detail. pchar is the tool of choice
to check between which hops your network performance get's lost.
pchar usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ pchar -h
Usage: pchar [-a analysis] [-b burst] [-c] [-d debuglevel]
[-g gap] [-G gaptype] [-h] [-H hops] [-I increment] [-m mtu]
[-n] [-p protocol] [-P port] [-q] [-R reps] [-s hop] [-t
timeout] [-T tos] [-v] [-V] [-w file] -r file | host]
-a analysis Set
analysis type (default is lsq)
lsq Least sum of squares linear fit
kendall Linear fit using Kendall's test
statistic
lms Least median of squares linear fit
lmsint Least median of squares linear fit
(integer computations)
-b
Burst size (default = 1)
-c
Ignore route changes
-d debuglevel Set
debugging output level
-g gap
Inter-test gap in seconds (default =
0.25)
-G gaptype Inter-test
gap type (default is fixed)
fixed Fixed gap
exp Exponentially distributed random
-H hops
Maximum number of hops (default = 30)
-h
Print this help information
-I increment Packet
size increment (default = 32)
-l host
Set origin address of probes (defaults to
hostname)
-m mtu
Maximum packet size to check (default =
1500)
-M mode
Operational mode (defaults to pchar)
pchar Path characterization
trout Tiny traceroute
-n
Don't resolve addresses to hostnames
-p protocol Network
protocol (default is ipv4udp)
ipv4udp UDP over IPv4
ipv4raw UDP over IPv4
(raw sockets)
ipv4icmp ICMP over IPv4 (raw sockets)
ipv6icmp ICMPv6 over IPv6 (raw sockets)
ipv6tcp TCP over IPv6
ipv6udp UDP over IPv6
-P port
Starting port number (default = 32768)
-q
Quiet output
-r file
Read data from a file (- for stdin)
-R reps
Repetitions per hop (default = 32)
-s hop
Starting hop number (default = 1)
-t timeout ICMP timeout
in seconds (default = 3)
-T tos
Set IP type-of-service field (default =
0)
-v
Verbose output
-V
Print version information
-w file
Write data to a file (- for stdout)
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
Sample pchar output
[JWM session] xtrnaw7@t61p Thu Oct 31 21:59:15
/var/tmp/jwm/sbin $ sudo ./pchar www.heise.de
pchar to www.heise.de (193.99.144.85) using UDP/IPv4
Using raw socket input
Packet size increments from 32 to 1500 by 32
46 test(s) per repetition
32 repetition(s) per hop
0: 192.168.1.161 (t61p)
Partial
loss: 0 / 1472 (0%)
Partial
char: rtt = 1.335142 ms, (b =
0.000187 ms/B), r2 = 0.979782
stddev rtt = 0.003264, stddev b = 0.000004
Partial queueing: avg = 0.000217 ms
(1162 bytes)
Hop
char:
rtt = 1.335142 ms, bw = 42885.302808 Kbps
Hop
queueing: avg = 0.000217 ms
(1162 bytes)
1: 192.168.1.1 (zyxel)
Partial
loss: 45 / 1472 (3%)
Partial
char: rtt = 4.337073 ms, (b =
0.009822 ms/B), r2 = 0.998417
stddev rtt = 0.049035, stddev b = 0.000059
Partial queueing: avg = 0.001137 ms
(1257 bytes)
Hop
char:
rtt = 3.001931 ms, bw = 830.277010 Kbps
Hop
queueing: avg = 0.000920 ms
(95 bytes)
2: 188.97.64.1
(dslb-188-097-064-001.pools.arcor-ip.net)
Partial
loss: 50 / 1472 (3%)
Partial
char: rtt = 6.486822 ms, (b =
0.009728 ms/B), r2 = 0.991430
stddev rtt = 0.110175, stddev b = 0.000136
Partial queueing: avg = 0.003096 ms
(1257 bytes)
Hop
char:
rtt = 2.149749 ms, bw = --.--- Kbps
Hop
queueing: avg = 0.001959 ms (0
bytes)
3: 145.254.0.77 (145.254.0.77)
Partial
loss: 38 / 1472 (2%)
Partial
char: rtt = 12.532021 ms, (b =
0.010207 ms/B), r2 = 0.975516
stddev rtt = 0.206723, stddev b = 0.000244
Partial queueing: avg = 0.001870 ms
(1257 bytes)
Hop
char:
rtt = 6.045200 ms, bw = 16706.537663 Kbps
Hop
queueing: avg = -0.001226 ms
(0 bytes)
4: 92.79.211.198 (92.79.211.198)
Partial
loss: 46 / 1472 (3%)
Partial
char: rtt = 12.326718 ms, (b =
0.010013 ms/B), r2 = 0.999057
stddev rtt = 0.037468, stddev b = 0.000046
Partial queueing: avg = 0.001374 ms
(1257 bytes)
Hop
char:
rtt = --.--- ms, bw = --.--- Kbps
Hop
queueing: avg = -0.000496 ms
(0 bytes)
5: 80.156.163.225 (80.156.163.225)
Route change detected
Partial
loss: 40 / 1472 (2%)
Partial
char: rtt = 12.236054 ms, (b =
0.009849 ms/B), r2 = 0.997949
stddev rtt = 0.054391, stddev b = 0.000067
Partial queueing: avg = 0.003483 ms
(1257 bytes)
Hop
char:
rtt = --.--- ms, bw = --.--- Kbps
Hop
queueing: avg = 0.002108 ms (0
bytes)
6: 217.239.39.14 (217.239.39.14)
6: 62.154.14.210 (f-ed4-i.F.DE.NET.DTAG.DE)
Partial
loss: 33 / 1472 (2%)
Partial
char: rtt = 12.527010 ms, (b =
0.010011 ms/B), r2 = 0.998249
stddev rtt = 0.051069, stddev b = 0.000063
Partial queueing: avg = 0.013400 ms
(62509 bytes)
Hop
char:
rtt = 0.290956 ms, bw = 49408.908039 Kbps
Hop
queueing: avg = 0.009918 ms
(61252 bytes)
7: 217.243.218.38 (217.243.218.38)
ICMP: packet filtered
Partial
loss: 1 / 2 (50%)
Partial
char: rtt = 0.000000 ms, (b =
0.000000 ms/B), r2 = 0.000000
stddev rtt = 0.000000, stddev b = 0.000000
Partial queueing: avg = 0.000000 ms
(62509 bytes)
Hop
char:
rtt = 0.000000 ms, bw = 0.000000 Kbps
Hop
queueing: avg = -0.013400 ms
(0 bytes)
8: 217.243.218.38 (217.243.218.38)
Path
length: 8 hops
Path
char: rtt =
0.000000 ms r2 = 0.000000
Path bottleneck: 830.277010
Kbps
Path
pipe: 0
bytes
Path queueing:
average = 0.000000 ms (62509 bytes)
Start
time: Thu Oct 31
21:59:18 2013
End
time:
Thu Oct 31 22:57:33 2013
"A miscellaneous collection of in-development and unsupported
performance analysis tools for Linux perf_events, aka the
"perf" command, and ftrace. Both perf and ftrace are core
Linux tracing tools, included in the kernel source. Your
system probably has ftrace already, and perf is often just a
package add (see Prerequisites).
These tools are designed to be easy to install (fewest
dependencies), provide advanced performance observability, and
be simple to use: do one thing and do it well. This collection
was created by Brendan Gregg (author of the DTraceToolkit).
Many of these tools employ workarounds so that functionality
is possible on existing Linux kernels. Because of this, many
tools have caveats (see man pages), and their implementation
should be considered a placeholder until future kernel
features, or new tracing subsystems, are added."
Contents:
Using ftrace:
iosnoop: trace disk I/O with details
including latency.
iolatency: summarize disk I/O latency as a
histogram.
execsnoop: trace process exec() with
command line argument details.
opensnoop: trace open() syscalls showing
filenames.
killsnoop: trace kill() signals showing
process and signal details.
net/tcpretrans: show TCP retransmits, with
address and other details.
system/tpoint: trace a given tracepoint.
kernel/funccount: count kernel function
calls, matching a string with wildcards.
kernel/functrace: trace kernel function
calls, matching a string with wildcards.
kernel/funcslower: trace kernel functions
slower than a threshold.
kernel/funcgraph: trace a graph of kernel
function calls, showing children and times.
kernel/kprobe: dynamically trace a kernel
function call or its return, with variables.
tools/reset-ftrace: reset ftrace state if
needed.
Using perf_events:
misc/perf-stat-hist: power-of aggregations
for tracepoint variables.
syscount: count syscalls by syscall or
process.
disk/bitesize: histogram summary of disk
I/O size.
[xtrnaw7@t540p perf-tools]$ ls bin
bitesize execsnoop funccount
funcgraph funcslower functrace
iolatency iosnoop killsnoop kprobe
opensnoop perf-stat-hist reset-ftrace
syscount tcpretrans tpoint
iosnoop
[xtrnaw7@t540p perf-tools]$ sudo ./iosnoop -h
USAGE: iosnoop [-hQst] [-d device] [-i iotype] [-p PID] [-n
name]
[duration]
-d device # device
string (eg, "202,1)
-i iotype # match type
(eg, '*R*' for all reads)
-n name #
process name to match on I/O issue
-p PID
# PID to match on I/O issue
-Q
# use queue insert as start time
-s
# include start time of I/O (s)
-t
# include completion time of I/O (s)
-h
# this usage message
duration #
duration seconds, and use buffers
eg,
iosnoop
# watch block I/O live (unbuffered)
iosnoop
1
# trace 1 sec (buffered)
iosnoop
-Q
# include queueing time in LATms
iosnoop
-ts
# include start and end timestamps
iosnoop -i
'*R*'
# trace reads
iosnoop -p
91
# show I/O issued when PID 91 is on-CPU
iosnoop -Qp
91
# show I/O queued by PID 91, queue time
execsnoop
[xtrnaw7@t540p perf-tools]$ ./execsnoop -h
USAGE: execsnoop [-hrt] [-a argc] [-d secs] [name]
-d seconds # trace duration,
and use buffers
-a argc #
max args to show (default 8)
-r
# include re-execs
-t
# include time (seconds)
-h
# this usage message
name
# process name to match (REs allowed)
eg,
execsnoop
# watch exec()s live (unbuffered)
execsnoop -d
1
# trace 1 sec (buffered)
execsnoop
grep
# trace process names containing grep
execsnoop
'log$'
# filenames ending in "log"
iolatency
[xtrnaw7@t540p perf-tools]$ ./iolatency -h
USAGE: iolatency [-hQT] [-d device] [-i iotype] [interval
[count]]
-d device
#[xtrnaw7@t540p perf-tools]$ ls bin
bitesize execsnoop funccount
funcgraph funcslower functrace
iolatency iosnoop killsnoop kprobe
opensnoop perf-stat-hist reset-ftrace
syscount tcpretrans tpoint
device string (eg, "202,1)
-i iotype # match type
(eg, '*R*' for all reads)
-Q
# use queue insert as start time
-T
# timestamp on output
-h
# this usage message
interval # summary
interval, seconds (default 1)
count
# number of summaries
eg,
iolatency
# summarize latency every second
iolatency
-Q
# include block I/O queue time
iolatency 5
2
# 2 x 5 second summaries
iolatency -i
'*R*' # trace
reads
iolatency -d
202,1 # trace
device 202,1 only
opensnoop
[xtrnaw7@t540p perf-tools]$ ./opensnoop -h
USAGE: opensnoop [-htx] [-d secs] [-p PID] [-n name]
[filename]
-d seconds # trace duration,
and use buffers
-n name #
process name to match on I/O issue
-p PID
# PID to match on I/O issue
-t
# include time (seconds)
-x
# only show failed opens
-h
# this usage message
filename # match
filename (partials, REs, ok)
eg,
opensnoop
# watch open()s live (unbuffered)
opensnoop -d
1
# trace 1 sec (buffered)
opensnoop -p
181 #
trace I/O issued by PID 181 only
opensnoop
conf
# trace filenames containing "conf"
opensnoop
'log$'
# filenames ending in "log"
killsnoop
[xtrnaw7@t540p perf-tools]$ ./killsnoop -h
USAGE: killsnoop [-hst] [-d secs] [-p PID] [-n name]
[filename]
-d seconds # trace duration,
and use buffers
-n name #
process name to match
-p PID
# PID to match on kill issue
-t
# include time (seconds)
-s
# human readable signal names
-h
# this usage message
eg,
killsnoop
# watch kill()s live (unbuffered)
killsnoop -d
1
# trace 1 sec (buffered)
killsnoop -p
181 #
trace kill()s issued to PID 181 only
See the man page and example file for more info.
syscount
[xtrnaw7@t540p perf-tools]$ ./syscount -h
USAGE: syscount [-chv] [-t top] {-p PID|-d seconds|command}
syscount
# count by process name
-c
# show counts by syscall name
-h
# this usage message
-v
# verbose: shows PID
-p
PID
# trace this PID only
-d seconds # duration of
trace
-t
num
# show top number only
command
# run and trace this command
eg,
syscount
# syscalls by process name
syscount
-c
# syscalls by syscall name
syscount -d
5
# trace for 5 seconds
syscount -cp
923 #
syscall names for PID 923
syscount -c
ls
# syscall names for "ls"
See the man page and example file for more info.
bin/tpoint
[xtrnaw7@t540p perf-tools]$ ./bin/tpoint -h
USAGE: tpoint [-hHsv] [-d secs] [-p PID] tracepoint [filter]
tpoint -l
-d seconds # trace duration,
and use buffers
-p PID
# PID to match on I/O issue
-v
# view format file (don't trace)
-H
# include column headers
-l
# list all tracepoints
-s
# show kernel stack traces
-h
# this usage message
Note that these examples may need modification to match your
kernel
version's function names and platform's register usage.
eg,
tpoint -l | grep open
# find tracepoints containing "open"
tpoint
syscalls:sys_enter_open
# trace open() syscall entry
tpoint
block:block_rq_issue
# trace block I/O issue
tpoint -s
block:black_rq_issue
# show kernel stacks
See the man page and example file for more info.
Example (from http://www.slideshare.net/brendangregg/linux-performance-analysis-new-tools-and-old-secrets):
Who is creating disk I/O, and of what type?
[xtrnaw7@t540p perf-tools]$ sudo ./bin/tpoint
block:block_rq_insert
Tracing block:block_rq_insert. Ctrl-C to end.
kworker/7:2-4043 [007]
d... 5179.718091: block_rq_insert: 0,0 R 8 (4a 01 00
00 10 00 00 00 08 00) 0 + 0 [kworker/7:2]
kworker/3:1-5075 [003]
d... 5179.727054: block_rq_insert: 8,0 WS 0 ()
46400512 + 200 [kworker/3:1]
kworker/6:2-245 [006]
d... 5179.727588: block_rq_insert: 8,0 WS 0 ()
51803752 + 8 [kworker/6:2]
kworker/6:2-245 [006]
d... 5179.727606: block_rq_insert: 8,0 WS 0 ()
51803760 + 8 [kworker/6:2]
kworker/6:2-245 [006]
d... 5179.727614: block_rq_insert: 8,0 WS 0 ()
51803768 + 8 [kworker/6:2]
kworker/6:2-245 [006]
d... 5179.727621: block_rq_insert: 8,0 WS 0 ()
51803776 + 8 [kworker/6:2]
...
See also the additional scripts and
patched script versions for the perf-tools below.
exec_snoop_wrapper.sh prints some
additional information about the processes to monitor (e.g. the
parent process and the process tree if available)
exec_snoop_wrapper.sh usage
[xtrnaw7@t540p
/var/tmp/jwm]$ ./scripts/exec_snoop_wrapper.sh -v -h
[17.08.2018 18:03 ] ### exec_snoop_wrapper.sh started at
Fri Aug 17 18:03:22 CEST 2018
exec_snoop_wrapper.sh
Function: monitor the exec of a specific binary
Usage: exec_snoop_wrapper.sh
[-v|--verbose] [-q|--quiet] [-f|--force] [-y|--yes]
[-n|--no] [-l|--logfile filename]
[d{:dryrun_prefix}|--dryrun{:dryrun_prefix}]
[-D|--debugshell] [-t fn|--tracefunc fn] [-L]
[-T|--tee] [-V|--version] [--var name=value] [--appendlog]
[--nologrotate] [--noSTDOUTlog]
[--nocleanup] [-R regex] [-- [execsnoop_options]]
[process_to_monitor]
Parameter:
process_to_monitor - process to monitor
execsnoop_options - options for execsnoop
-R - additional regex pattern for the proces;
this parameter can be used more then once
-h - print the script usage; use -h and -v
one or more times to print more help text
-v - verbose mode; use -v -v to also print
the runtime system messages
(or set the
environment variables VERBOSE to 0 and VERBOSE_LEVEL to
the level)
-q - quiet mode (or set the environment
variable QUIET to 0)
-f - force execution (or set the environment
variable FORCE to 0 )
-y - answer yes to all questions
-n - answer no to all questions
-l - logfile to use; use -l none to not use a
logfile at all
the default
logfile is /var/tmp/exec_snoop_wrapper.sh.log
also supported
is the format "-l:filename"
-d - dryrun mode, default dryrun_prefix is "
"
Use the
parameter "-d:<dryrun_prefix>" or the syntax
"PREFIX=<new
dryrun_prefix>
/var/tmp/jwm/scripts/exec_snoop_wrapper.sh"
to change the
dryrun prefix
The script will
run in dryrun mode if the environment variable PREFIX
is set. To
disable that behaviour use the parameter "+d"
-D - start a debug shell and continue the
script afterwards
-t - trace the function fn
also supported
is the format "-t:fn[,...,fn#]"
-L - list all defined functions and end the
script
also supported
is the format "-l:filename"
-T - copy STDOUT and STDERR to the file
/var/tmp/exec_snoop_wrapper.sh.28958.tee.log
using tee; set
the environment variable __TEE_OUTPUT_FILE before
calling the
script to change the file used for the output of tee
-V - print the script version and exit; use
"-v -V" to print the
template
version also
--var
- set the variable "name"
to the value "value"
also supported
is the format "--var:<varname>=<value>"
--appendlog
- append the messages to
the logfile (default: overwrite an existing logfile)
This parameter
also sets --nologrotate
--nologrotate
- do not create a backup of
an existing logfile
--noSTDOUTlog
- do not write
STDOUT/STDERR to a file if /dev/tty is not a a device
--nocleanup
- do no house keeping
at script end
The default execsnoop script to use is
/var/tmp/jwm/perf-tools/bin/execsnoop.
Set the environment variable EXECSNOOP before
calling the script to use another version
of the execsnoop script.
Current environment: ksh version: 93 | change function
code supported: yes | tracing feature using $0 supported:
yes
Parameter that toggle a switch from true to false or
vice versa can
be used with the plus sign (+) instead of minus (-)
to invert the usage, e.g.
The parameter \"-v\" enables the verbose mode; the
parameter \"+v\" disables the verbose mode.
All parameter are processed in the given order, e.g.
/var/tmp/jwm/scripts/exec_snoop_wrapper.sh -v +v
-> verbose mode is now off
/var/tmp/jwm/scripts/exec_snoop_wrapper.sh +v -v
-> verbose mode is now on
Parameter are evaluated after the evaluation of the
environment variables, e.g
VERBOSE=0
/var/tmp/jwm/scripts/exec_snoop_wrapper.sh
-> verbose mode is now on
VERBOSE=0
/var/tmp/jwm/scripts/exec_snoop_wrapper.sh +v
-> verbose mode is now off
To disable one or more of the house keeping tasks
you might set some variables
either before starting the script or via the
parameter --var name=value
The defined variables are
NO_EXIT_ROUTINES=0 # do not
execute the exit routines if set to 0
NO_TEMPFILES_DELETE=0 # do not delete
temporary files if set to 0
NO_TEMPDIR_DELETE=0 # do not
delete temporary directories if set to 0
NO_FINISH_ROUTINES=0 # do not execute
the finish routines if set to 0
NO_KILL_PROCS=0
# do not kill the processes if set to 0
Supported environment variables are:
PREFIX - current value is ""
__DEBUG_CODE - current value is ""
__TEE_OUTPUT_FILE - current value is
"/var/tmp/exec_snoop_wrapper.sh.28958.tee.log"
USE_ONLY_KSH88_FEATURES - current value is "1"
BREAK_ALLOWED - current value is "DebugShell"
EDITOR - current value is "/usr/bin/vi"
PAGER - current value is "/usr/bin/less"
LOGFILE - current value is
"/var/tmp/exec_snoop_wrapper.sh.log"
FORCE - current value is "1"
QUIET - current value is "1"
VERBOSE - current value is "0"
VERBOSE_LEVEL - current value is "1"
RCM_SERVICE - current value is ""
RCM_FUNCTION - current value is ""
RCM_USERID - current value is ""
RCM_PASSWORD - current value is ""
EXECSNOOP - current value is
"/var/tmp/jwm/perf-tools/bin/execsnoop"
*** The usage help for execsnoop is
USAGE: execsnoop [-hrt] [-a argc] [-d secs] [name]
-d seconds # trace duration,
and use buffers
-a argc #
max args to show (default 8)
-r
# include re-execs
-t
# include time (seconds)
-h
# this usage message
name
# process name to match (REs allowed)
eg,
execsnoop
# watch exec()s live (unbuffered)
execsnoop -d
1
# trace 1 sec (buffered)
execsnoop
grep
# trace process names containing grep
execsnoop
'log$'
# filenames ending in "log"
See the man page and example file for more info.
----------------------------------------------------------------------
*** If you get the error message:
/var/tmp/jwm/perf-tools/bin/execsnoop: line 194: echo:
write error: Device or resource busy
ERROR: adding a kprobe for execve. Exiting.
Wait some seconds and try the script again.
----------------------------------------------------------------------
[17.08.2018 18:03 ] ### The logfile used was
/var/tmp/exec_snoop_wrapper.sh.log
[17.08.2018 18:03 ] ### exec_snoop_wrapper.sh ended at Fri
Aug 17 18:03:22 CEST 2018
[xtrnaw7@t540p /var/tmp/jwm]$
open_snoop_wrapper.sh
is a wrapper script for the
opensnoop
script from the
perftools
open_snoop_wrapper.sh prints
some additional information about the processes that access
the files to monitor (e.g. the parent process and the
process tree if available)
open_snoop_wrapper.sh usage
[xtrnaw7@t540p /var/tmp/jwm]$
./scripts/open_snoop_wrapper.sh -v -h
#[17.08.2018 18:04 ] ### open_snoop_wrapper.sh started at
Fri Aug 17 18:04:09 CEST 2018
open_snoop_wrapper.sh
Function: monitor the acccess of a specific file
Usage: open_snoop_wrapper.sh
[-v|--verbose] [-q|--quiet] [-f|--force] [-y|--yes]
[-n|--no] [-l|--logfile filename]
[d{:dryrun_prefix}|--dryrun{:dryrun_prefix}]
[-D|--debugshell] [-t fn|--tracefunc fn] [-L]
[-T|--tee] [-V|--version] [--var name=value] [--appendlog]
[--nologrotate] [--noSTDOUTlog]
[--nocleanup] [-R regex] [-- [opensnoop_options]]
[file_to_monitor]
Parameter:
file_to_monitor - file to monitor; this can
be either a fully qualified file name, a filename without
path, or a regex
The script will monitor the access to all files that match
this parameter.
opensnoop_options - options for opensnoop
(you may try "-s" or "-S" if the script does not get the
filenames)
Use the parameter "-v" to see all lines from
opensnoop
-R - additional regex pattern for the
filename; this parameter can be used more then once
-h - print the script usage; use -h and -v
one or more times to print more help text
-v - verbose mode; use -v -v to also print
the runtime system messages
(or set the
environment variables VERBOSE to 0 and VERBOSE_LEVEL to
the level 2 or more)
-q - quiet mode (or set the environment
variable QUIET to 0)
-f - force execution (or set the environment
variable FORCE to 0 )
-y - answer yes to all questions
-n - answer no to all questions
-l - logfile to use; use -l none to not use a
logfile at all
the default
logfile is /var/tmp/open_snoop_wrapper.sh.log
also supported
is the format "-l:filename"
-d - dryrun mode, default dryrun_prefix is "
"
Use the
parameter "-d:<dryrun_prefix>" or the syntax
"PREFIX=<new
dryrun_prefix>
/var/tmp/jwm/scripts/open_snoop_wrapper.sh"
to change the
dryrun prefix
The script will
run in dryrun mode if the environment variable PREFIX
is set. To
disable that behaviour use the parameter "+d"
-D - start a debug shell and continue the
script afterwards
-t - trace the function fn
also supported
is the format "-t:fn[,...,fn#]"
-L - list all defined functions and end the
script
also supported
is the format "-l:filename"
-T - copy STDOUT and STDERR to the file
/var/tmp/open_snoop_wrapper.sh.29076.tee.log
using tee; set
the environment variable __TEE_OUTPUT_FILE before
calling the
script to change the file used for the output of tee
-V - print the script version and exit; use
"-v -V" to print the
template
version also
--var
- set the variable "name"
to the value "value"
also supported
is the format "--var:<varname>=<value>"
--appendlog
- append the messages to
the logfile (default: overwrite an existing logfile)
This parameter
also sets --nologrotate
--nologrotate
- do not create a backup of
an existing logfile
--noSTDOUTlog
- do not write
STDOUT/STDERR to a file if /dev/tty is not a a device
--nocleanup
- do no house keeping
at script end
The default opensnoop to use is
/var/tmp/jwm/scripts/opensnoop1.
Set the environment variable OPENSNOOP before
calling the script to use another version
of the opensnoop script.
The parameter "-R regex" can be used to select the
files to monitor, e.g.
open_snoop_wrapper.sh .profile
will monitor the access to any file named ".profile"
on the machine. To only
monitor the files
/home/group_csp/.profile
/home/group_csp/myuser/.profile
use
open_snoop_wrapper.sh -R
/home/group_csp/.profile -R /home/group_csp/myuser.profile
.profile
Current environment: ksh version: 93 | change function
code supported: yes | tracing feature using $0 supported:
yes
Parameter that toggle a switch from true to false or
vice versa can
be used with the plus sign (+) instead of minus (-)
to invert the usage, e.g.
The parameter \"-v\" enables the verbose mode; the
parameter \"+v\" disables the verbose mode.
All parameter are processed in the given order, e.g.
/var/tmp/jwm/scripts/open_snoop_wrapper.sh -v +v
-> verbose mode is now off
/var/tmp/jwm/scripts/open_snoop_wrapper.sh +v -v
-> verbose mode is now on
Parameter are evaluated after the evaluation of the
environment variables, e.g
VERBOSE=0
/var/tmp/jwm/scripts/open_snoop_wrapper.sh
-> verbose mode is now on
VERBOSE=0
/var/tmp/jwm/scripts/open_snoop_wrapper.sh +v
-> verbose mode is now off
To disable one or more of the house keeping tasks
you might set some variables
either before starting the script or via the
parameter --var name=value
The defined variables are
NO_EXIT_ROUTINES=0 # do not
execute the exit routines if set to 0
NO_TEMPFILES_DELETE=0 # do not delete
temporary files if set to 0
NO_TEMPDIR_DELETE=0 # do not
delete temporary directories if set to 0
NO_FINISH_ROUTINES=0 # do not execute
the finish routines if set to 0
NO_KILL_PROCS=0
# do not kill the processes if set to 0
Supported environment variables are:
PREFIX - current value is ""
__DEBUG_CODE - current value is ""
__TEE_OUTPUT_FILE - current value is
"/var/tmp/open_snoop_wrapper.sh.29076.tee.log"
USE_ONLY_KSH88_FEATURES - current value is "1"
BREAK_ALLOWED - current value is "DebugShell"
EDITOR - current value is "/usr/bin/vi"
PAGER - current value is "/usr/bin/less"
LOGFILE - current value is
"/var/tmp/open_snoop_wrapper.sh.log"
FORCE - current value is "1"
QUIET - current value is "1"
VERBOSE - current value is "0"
VERBOSE_LEVEL - current value is "1"
RCM_SERVICE - current value is ""
RCM_FUNCTION - current value is ""
RCM_USERID - current value is ""
RCM_PASSWORD - current value is ""
OPENSNOOP - current value is
"/var/tmp/jwm/scripts/opensnoop1"
*** The usage help for opensnoop is
USAGE: opensnoop [-htx] [-d secs] [-p PID] [-n name]
[filename]
-d seconds # trace duration,
and use buffers
-n name #
process name to match on I/O issue
-p
PID
# PID to match on I/O issue
-t
# include time (seconds)
-x
# only show failed opens
-h
# this usage message
-S
# getname is a struct
-s
# getname is a char *
filename # match
filename (partials, REs, ok)
eg,
opensnoop
# watch open()s live (unbuffered)
opensnoop -d
1
# trace 1 sec (buffered)
opensnoop -p
181
# trace I/O issued by PID 181 only
opensnoop
conf
# trace filenames containing "conf"
opensnoop
'log$'
# filenames ending in "log"
See the man page and example file for more info.
If the script prints garbage for the filenames try it with
the parameter -S or -s to force
the correct format for the getname probe.
(see
https://www.bountysource.com/issues/6855234-opensnoop-outputs-unicode-giberish-for-file-names-on-centos6)
----------------------------------------------------------------------
*** If you get the error message:
/var/tmp/jwm/scripts/opensnoop1: line 186: echo: write
error: Device or resource busy
ERROR: adding a kprobe for getname(). Exiting.
Wait some seconds and try the script again.
----------------------------------------------------------------------
[17.08.2018 18:04 ] ### open_snoop_wrapper.sh ended at Fri
Aug 17 18:04:09 CEST 2018
[xtrnaw7@t540p /var/tmp/jwm]$
Note:
The newest version of the script
will always be available here :
http://bnsmb.de/files/public/linux/open_snoop_wrapper.sh
opensnoop1
is a patched version of the
opensnoop
script from the
perftools
On some Linux 2.6 versions
the original opensnoop script prints garbage for the
filenames. This is caused by a change of the usage for the
getname kprobe.
The original script selects
the type of getname depending on the Linux version
running. But that does not always work.
To get around this issue I
added the parameter -s and -S
so that the user can select the type for getname.
I also added "fflush(stdout)"
to the awk code so that the script also works if STDOUT is
redirected to a file or pipe.
opensnoop1 usage
[xtrnaw7@t540p
/var/tmp/jwm]$ scripts/opensnoop1 -h
USAGE: opensnoop [-htx] [-d secs] [-p PID] [-n name]
[filename]
-d seconds # trace
duration, and use buffers
-n
name #
process name to match on I/O issue
-p
PID
# PID to match on I/O issue
-t
# include time (seconds)
-x
# only show failed opens
-h
# this usage message
-S
# getname is a struct
-s
# getname is a char *
filename #
match filename (partials, REs, ok)
eg,
opensnoop
# watch open()s live (unbuffered)
opensnoop -d
1
# trace 1 sec (buffered)
opensnoop -p
181
# trace I/O issued by PID 181 only
opensnoop
conf
# trace filenames containing "conf"
opensnoop
'log$'
# filenames ending in "log"
See the man page and example file for more info.
If the script prints garbage for the filenames
try it with the parameter -S or -s to force
the correct format for the getname probe.
(see
https://www.bountysource.com/issues/6855234-opensnoop-outputs-unicode-giberish-for-file-names-on-centos6)
Note:
pigz is a parallel gzip compatible
compression program; usage is :
pigz usage
[xtrnaw7@t15g /var/tmp/jwm/src]$ ../bin/pigz -h
Usage: pigz [options] [files ...]
will compress files in place, adding the suffix
'.gz'. If no files are
specified, stdin will be compressed to stdout. pigz
does what gzip does,
but spreads the work over multiple processors and
cores when compressing.
Options:
-0 to -9,
-11 Compression
level (level 11, zopfli, is much slower)
--fast, --best
Compression levels 1 and 9 respectively
-A, --alias xxx Use
xxx as the name for any --zip entry from stdin
-b, --blocksize mmm Set compression block
size to mmmK (default 128K)
-c,
--stdout
Write all processed output to stdout (won't delete)
-C, --comment ccc Put comment ccc
in the gzip or zip header
-d, --decompress Decompress
the compressed input
-f,
--force
Force overwrite, compress .gz, links, and to terminal
-F
--first
Do iterations first, before block split for -11
-h,
--help
Display a help screen and quit
-H,
--huffman Use
only Huffman coding for compression
-i, --independent Compress blocks
independently for damage recovery
-I, --iterations n Number of iterations
for -11 optimization
-J, --maxsplits n Maximum number
of split blocks for -11
-k,
--keep
Do not delete original file after processing
-K,
--zip
Compress to PKWare zip (.zip) single entry format
-l,
--list
List the contents of the compressed input
-L,
--license
Display the pigz license and quit
-m,
--no-time Do not
store or restore mod time
-M,
--time
Store or restore mod time
-n,
--no-name Do not
store or restore file name or mod time
-N,
--name
Store or restore file name and mod time
-O
--oneblock Do not
split into smaller blocks for -11
-p, --processes n Allow up to n
compression threads (default is the
number of online processors, or 8 if unknown)
-q,
--quiet
Print no messages, even on error
-r, --recursive
Process the contents of all subdirectories
-R, --rsyncable
Input-determined block locations for rsync
-S, --suffix .sss Use suffix .sss
instead of .gz (for compression)
-t,
--test
Test the integrity of the compressed input
-U,
--rle
Use run-length encoding for compression
-v,
--verbose
Provide more verbose output
-V
--version Show
the version of pigz
-Y --synchronous Force
output file write to permanent storage
-z,
--zlib
Compress to zlib (.zz) instead of gzip format
--
All arguments after "--" are treated as files
[xtrnaw7@t15g /var/tmp/jwm/src]$
pktstat displays a real-time list of active
connections seen on a network interface, and how much
bandwidth is being used by what.
pktstat usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ pktstat -h
pktstat: invalid option -- 'h'
pktstat version 1.8.5
usage: pktstat [-BcFlnpPtT] [-i interface] [-k keeptime]
[-m maxbps] [-w wait] [-a abbrev] [-A file] [filter-expr]
powertop is a tool to monitor the power usage of a
system. powertop is most usefull on machines with power
management like for example Notebooks.
powertop usage
[xtrnaw7@t540p
/var/tmp/jwm/src/powertop-v2.9]$ ./src/powertop -h
Usage: powertop [OPTIONS]
--auto-tune
sets all tunable options to their GOOD setting
-c, --calibrate runs
powertop in calibration mode
-C, --csv[=filename]
generate a csv report
--debug
run in "debug" mode
--extech[=devnode] uses an Extech
Power Analyzer for measurements
-r, --html[=filename]
generate a html report
-i, --iteration[=iterations] number of times to run
each test
-q, --quiet
suppress stderr output
-s, --sample[=seconds]
interval for power consumption measurement
-t, --time[=seconds]
generate a report for 'x' seconds
-w, --workload[=workload] file to execute for
workload
-V, --version
print version information
-h, --help
print this help menu
For more help please refer to the 'man 8 powertop'
[xtrnaw7@t540p /var/tmp/jwm/src/powertop-v2.9]$
"
Powerstat measures the power consumption of a machine
using the battery stats or the Intel RAPL interface. The
output is like vmstat but also shows power consumption
statistics. At the end of a run, powerstat will calculate the
average, standard deviation and min/max of the gathered data."
powerstat usage
[xtrnaw7@t15g /var/tmp/jwm/src]$
../bin/powerstat -h
powerstat, version 0.04.02
usage: ../bin/powerstat [options] [delay [count]]
-a enable all sampling collection
options (-c, -f, -g, -t and -H)
-b redo a sample if a system is busy,
considered less than 98% CPU idle
-c show C-State statistics at end of
the run
-d specify delay before starting,
default is 180 seconds
-D show RAPL domain power measurements
(enables -R option)
-f show average CPU frequency
-g show average GPU frequency
-h show help
-H show spread of measurements with
power histogram
-i specify CPU idle threshold, used in
conjunction with -b
-n no printing of table heading when
screen scrolls
-p redo a sample if we see process
fork/exec/exit activity
-r redo a sample if busy and we see
process activity (same as -b -p)
-R gather stats from Intel RAPL
interface
-s show process fork/exec/exit activity
log
-S calculate power from capacity drain
using standard average
-t show Thermal Zone temperatures (in
degrees C)
-z forcibly ignore zero power rate
stats from the battery
delay: delay between each sample,
default is 10.0 seconds
count: number of samples to ta
powerstat example
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
./bin/powerstat -c -g -d 10 -S -t 1 470
Running for 470.0 seconds (470 samples at 1.0 second
intervals).
Power measurements will start in 10 seconds time.
Time User Nice
Sys Idle IO Run Ctxt/s
IRQ/s Fork Exec Exit Watts x86_pk acpitz
GPU W
21:36:29 0.4 0.0
0.4 99.2 0.0
1 1899 597
2 1 2
19.91 48.00 48.00 -N/A-
21:36:30 0.5 0.0
0.3 99.0 0.3
1 1716 639
1 1 1
19.91 48.00 48.00 -N/A-
21:36:31 0.5 0.0
0.4 99.0 0.1
1 2148 675
2 1 2
19.93 48.00 48.00 -N/A-
21:36:32 0.8 0.0
0.3 99.0 0.0
1 1934 678
6 4 6
19.93 48.00 48.00 -N/A-
21:36:33 0.5 0.0
0.4 99.1 0.0
1 1741 632
3 2 3
19.93 48.00 48.00 -N/A-
21:36:34 0.5 0.0
0.4 99.1 0.0
1 1900 642
2 1 2
19.93 48.00 48.00 -N/A-
21:36:35 0.9 0.0
0.5 98.5 0.1
1 2140 735
1 1 1
19.97 49.00 48.00 -N/A-
21:36:36 0.9 0.0
0.7 98.4 0.0
1 2664 806
2 1 2
19.97 48.00 48.00 -N/A-
-------- ----- ----- ----- ----- ----- ---- ------ ------
---- ---- ---- ------ ------ ------ ------
Average 0.6 0.0
0.4 98.9 0.1 1.0 2017.8
675.5 2.4 1.5 2.4
19.94 48.12 48.00 -N/A-
StdDev 0.2 0.0
0.1 0.3 0.1 0.0
285.5 62.3 1.5 1.0
1.5 0.02 0.33
0.00 -N/A-
-------- ----- ----- ----- ----- ----- ---- ------ ------
---- ---- ---- ------ ------ ------ ------
Minimum 0.4 0.0
0.3 98.4 0.0 1.0 1716.0
597.0 1.0 1.0 1.0
19.91 48.00 48.00 -N/A-
Maximum 0.9 0.0
0.7 99.2 0.3 1.0 2664.0
806.0 6.0 4.0 6.0
19.97 49.00 48.00 -N/A-
-------- ----- ----- ----- ----- ----- ---- ------ ------
---- ---- ---- ------ ------ ------ ------
Summary:
System: 19.94 Watts on average with standard
deviation 0.02
GPU: 0.00 Watts on average with standard
deviation 0.00
Note: The battery supplied suitable power data, -S option
not required.
C-State
Resident Count Latency
C7s-HSW
97.280%
7873 166
C6-HSW
0.088%
100 133
C3-HSW
0.192%
379 33
C1E-HSW
0.454%
217 10
C1-HSW
0.840%
238 2
POLL
0.000%
3 0
C0
1.145%
^C[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
ProcDump is a Linux reimagining of the classic
ProcDump tool from the Sysinternals suite of tools for
Windows. ProcDump provides a convenient way for Linux
developers to create core dumps of their application based on
performance triggers.
procdump usage
[xtrnaw7@t15g
/var/tmp/jwm/src/procdump-3.2.0]$ ../../bin/procdump -h
ProcDump v0.0.0 - Sysinternals process dump utility
Copyright (C) 2024 Microsoft Corporation. All rights
reserved. Licensed under the MIT license.
Mark Russinovich, Mario Hewardt, John Salem, Javid
Habibi
Sysinternals - www.sysinternals.com
Monitors one or more processes and writes a core dump
file when the processes exceeds the
specified criteria.
[14:03:05 - WARN]: Procdump not running with elevated
credentials. If your uid does not match the uid of the
target process procdump will not be able to capture
memory dumps
Capture Usage:
procdump [-n Count]
[-s Seconds]
[-c|-cl CPU_Usage]
[-m|-ml Commit_Usage1[,Commit_Usage2...]]
[-gcm [<GCGeneration>: | LOH: |
POH:]Memory_Usage1[,Memory_Usage2...]]
[-gcgen Generation]
[-restrack]
[-sr Sample_Rate]
[-tc Thread_Threshold]
[-fc FileDescriptor_Threshold]
[-sig Signal_Number1[,Signal_Number2...]]
[-e]
[-f Include_Filter,...]
[-fx Exclude_Filter]
[-mc Custom_Dump_Mask]
[-pf Polling_Frequency]
[-o]
[-log]
{
{{[-w] Process_Name | [-pgid] PID} [Dump_File |
Dump_Folder]}
}
Options:
-n Number of
dumps to write before exiting.
-s
Consecutive seconds before dump is written (default is
10).
-c CPU
threshold above which to create a dump of the process.
-cl CPU threshold
below which to create a dump of the process.
-m Memory
commit threshold(s) (MB) above which to create dumps.
-ml Memory commit
threshold(s) (MB) below which to create dumps.
-gcm [.NET] GC memory
threshold(s) (MB) above which to create dumps for the
specified generation or heap (default is total .NET
memory usage).
-gcgen [.NET] Create dump when the
garbage collection of the specified generation starts
and finishes.
-restrack Enable memory leak tracking
(malloc family of APIs).
-sr Sample rate
when using -restrack.
-tc Thread count
threshold above which to create a dump of the process.
-fc File descriptor
count threshold above which to create a dump of the
process.
-sig Comma separated list
of signal number(s) during which any signal results in a
dump of the process.
-e [.NET]
Create dump when the process encounters an exception.
-f Filter
(include) on the content of .NET exceptions (comma
separated). Wildcards (*) are supported.
-fx Filter
(exclude) on the content of -restrack call stacks.
Wildcards (*) are supported.
-mc Custom core
dump mask (in hex) indicating what memory should be
included in the core dump. Please see 'man core'
(/proc/[pid]/coredump_filter) for available options.
-pf Polling
frequency.
-o Overwrite
existing dump file.
-log Writes extended
ProcDump tracing to syslog.
-w Wait for
the specified process to launch if it's not running.
-pgid Process ID specified
refers to a process group ID.
[xtrnaw7@t15g /var/tmp/jwm/src/procdump-3.2.0]$
"
procenv is a simple command-line utility, written in C
and licensed under the GPL, that dumps all attributes of the
environment in which it runs, in well-structured plain ASCII,
JSON (YAML), XML or CSV."
procenv usage
[xtrnaw7@t15g /var/tmp/jwm]$ bin/procenv -h
Usage: procenv 0.58 [option]
Description: Display process environment.
Options:
-a,
--meta
: Display meta details.
-A,
--arguments
: Display program arguments.
-b,
--libs
: Display details of linked libraries.
-B,
--libc
: Display standard library details.
-c,
--cgroups
: Display cgroup details (Linux only).
-C,
--cpu
: Display CPU and scheduler details.
--crumb-separator=<str> : Specify
string '<str>' as alternate delimiter
for crumb format output (default=':').
-d,
--compiler
: Display compiler details.
-e,
--environment :
Display environment variables.
-E,
--semaphores :
Display semaphore details.
--exec
: Treat non-option arguments as program to execute.
-f,
--fds
: Display file descriptor details.
-F,
--namespaces :
Display namespace details.
--file=<file>
: Send output to <file> (implies --output=file).
--file-append
: Append to file specified by '--file='
rather than overwriting
--format=<format>
: Specify output format. <format> can be one of:
crumb : ASCII 'breadcrumbs'
json : JSON output.
text : ASCII output (default).
xml : XML output.
-g,
--sizeof
: Display sizes of data types in bytes.
-h,
--help
: This help text.
-i,
--misc
: Display miscellaneous details.
--indent
: Number of indent characters to use for each indent
(default=2).
--indent-char=<c>
: Use character '<c>' for indenting
(default=' ').
-j,
--uname
: Display uname details.
-k,
--clocks
: Display clock details.
-l,
--limits
: Display limits.
-L,
--locale
: Display locale details.
-m,
--mounts
: Display mount details.
-M, --message-queues
: Display message queue details.
-n,
--confstr
: Display confstr details.
-N,
--network
: Display network details.
-o,
--oom
: Display out-of-memory manager details (Linux only)
--output=<type>
: Send output to alternative location.
<type> can be one of:
file : Send output to a file.
stderr : Write to standard error.
stdout : Write to standard output (default).
syslog : Write to the system log file.
terminal : Write to terminal.
-p,
--process
: Display process details.
-P,
--platform
: Display platform details.
-q,
--time
: Display time details.
-r,
--ranges
: Display range of data types.
--separator=<str>
: Specify string '<str>' as alternate delimiter
for text format output (default=': ').
-s,
--signals
: Display signal details.
-S,
--shared-memory : Display shared
memory details.
-t,
--tty
: Display terminal details.
-T,
--threads
: Display thread details.
-u,
--stat
: Display stat details.
-U,
--rusage
: Display rusage details.
-v,
--version
: Display version details.
-w,
--capabilities : Display
capability details (Linux only).
-x,
--pathconf
: Display pathconf details.
-y,
--sysconf
: Display sysconf details.
-Y,
--memory
: Display memory details.
-z,
--timezone
: Display timezone details.
Notes:
- Options are considered in order, so
'--output' should
precede any other option.
- If no display option is specified,
all details are displayed.
- Only one display option may be
specified.
- All values for '--indent-char' are
literal except '\t' which can be
used to specify a tab
character. The same is true for '--separator'
and '--crumb-separator' but
only if it is the first character specified.
- Specifying a visible indent-char is
only (vaguely) meaningful
for text output.
- Any long option name may be shortened
as long as it remains unique.
- The 'crumb' output format is designed
for easy parsing: it displays
the data in a flattened
format with each value on a separate line
preceded by all appropriate
headings which are separated by the
current separator.
[xtrnaw7@t15g /var/tmp/jwm]$
procenv example
[xtrnaw7@t15g /var/tmp/jwm]$ bin/procenv -T -q
threads:
stack size: 8388608 bytes
scope: PTHREAD_SCOPE_SYSTEM
guard size: 4096 bytes
scheduler:
type: SCHED_OTHER
priority: 0
inherit-scheduler attribute:
PTHREAD_INHERIT_SCHED
concurrency: 0
time:
raw: 1709477406.877982873
local: Sun Mar 3 15:50:06 2024
ISO: 2024-02-03T15:50
[xtrnaw7@t15g /var/tmp/jwm]$
"
pspy is a command line tool designed to snoop on
processes without need for root permissions. It allows you to
see commands run by other users, cron jobs, etc. as they
execute. Great for enumeration of Linux systems in CTFs. Also
great to demonstrate your colleagues why passing secrets as
arguments on the command line is a bad idea."
pspy usage
[xtrnaw7@t540p /var/tmp/jwm]$
./bin1/pspy64 -h
pspy - version: v1.2.0 - Commit SHA:
9c63e5d6c58f7bcdc235db663f5e3fe1c33b8855
██▓███
██████ ██▓███ ▓██ ██▓
▓██░ ██▒▒██ ▒
▓██░ ██▒▒██ ██▒
▓██░ ██▓▒░ ▓██▄ ▓██░ ██▓▒
▒██ ██░
▒██▄█▓▒ ▒ ▒
██▒▒██▄█▓▒ ▒ ░ ▐██▓░
▒██▒ ░ ░▒██████▒▒▒██▒ ░ ░
░ ██▒▓░
▒▓▒░ ░ ░▒ ▒▓▒ ▒ ░▒▓▒░ ░
░ ██▒▒▒
░▒ ░ ░
░▒ ░ ░░▒ ░ ▓██ ░▒░
░░ ░ ░
░ ░░ ▒ ▒
░░
░
░ ░
░ ░
Usage:
pspy [flags]
Flags:
-c,
--color
color the printed events (default true)
--debug
print detailed error messages
-d, --dirs
stringArray
watch these dirs
-f,
--fsevents
print file system events to stdout
-h,
--help
help for pspy
-i, --interval
int
scan every 'interval' milliseconds for new processes
(default 100)
-p,
--procevents
print new processes to stdout (default true)
-r, --recursive_dirs stringArray
watch these dirs recursively (default
[/usr,/tmp,/etc,/home,/var,/opt])
[xtrnaw7@t540p /var/tmp/jwm]$
prtdiag is a simple script to list the hardware
configuration of a machine.
prtdiag usage
[xtrnaw7@t540p /var/tmp/jwm/src/prtdiag-1.2]$
./prtdiag -h
usage: prtdiag [-AacCdefhis] [-o <filename>]
Available command line options:
-a
Show all (default)
-c
Show CPU Info
-C
Temperatures in Celsius (default)
-d
Show IDE Device Info
-e
Show Environmental Info
-f
Temperatures in Fahrenheit
-h
this help
-i
Show IO Device Info
-o filename Output to
file
-s
Show SCSI Device Info
-v
Output version information and exit
prtdiag example
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ sudo
bin/prtdiag
*** lm_sensors was NOT found. ***
*** Get lm_sensors from http://www2.lm-sensors.nu/~lm78/
or your Linux vendor. ***
*** System information will be limited. ***
System Hostname: t540p
Time of Report: Wed Oct 26 20:23:03 CEST 2016
System Configuration: [x86_64] Unknown Vendor Unknown
Model (8 X Intel(R) Core(TM) i7-4900MQ CPU @ 2.80GHz
3659.790 MHz)
System clock frequency: UNKNOWN (no APIC in kernel?)
Memory size (approximate): 15625 Megabytes
========================= CPUs ========================
CPU # CPU
MHz CACHE
(KB) Bogomips
-------
--------- ------------ ----------
0
3617.578 8192
KB
1
3674.316 8192
KB
2
3623.217 8192
KB
3
3632.446 8192
KB
4
3651.245 8192
KB
5
3622.021 8192
KB
6
3633.300 8192
KB
7
3608.691 8192
KB
====================== IO Devices =====================
***** No PCI or ISA buses found! *****
====================== IDE Devices ======================
*** No IDE channels present, hence no devices! ***
===================== SCSI Devices ======================
Host/Channel/ID/LUN
Vendor
Model Type
-------------------
-------- ---------
--------
scsi0 / 0 / 00 / 00
ATA
Samsung Direct-Access
scsi4 / 0 / 00 / 00
ATA
SanDisk Direct-Access
scsi5 / 0 / 00 / 00
HL-DT-ST DVDRAM
CD-ROM
scsi6 / 0 / 00 / 00
ASMedia
AS2115 Direct-Access
================== Environmental Status =================
*** Unable to provide Environmental Status Data. ***
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
"scanlogd is a TCP port scan detection tool,
originally designed to illustrate various attacks an IDS
developer has to deal with, for a Phrack Magazine article. Thus, unlike
some of the other port scan detection tools out there,
scanlogd is designed to be totally safe to use.
This release of scanlogd can be built with support for one
of several packet capture interfaces. In addition to the raw
socket interface on Linux (which does not require any
libraries), scanlogd is now aware of libnids and libpcap."
The compile script in JWM / Linux compiles scanlogd using
Linux raw sockets. The user used for the daemon is the root
user (so that the compiled binary can run ony any machine).
To change the user for the scanlogd daemon
uncomment the line
#define SCANLOGD_USER
"scanlogd"
in the file
params.h
before compiling scanlogd
Logging is done with a syslog facility of daemon and
a priority level alert.
scanlogd usage
./scanlogd
scanlogd example
# message written by the daemon
#
[xtrnaw7@t540p ~]$ sudo tail -f /var/log/alert
Apr 21 13:53:41 t540p scanlogd[27224]:
127.0.0.1 to 127.0.0.1 ports 80, 443, 8080, 22, 25, 110,
1720, 3306, ..., f??p?uxy, TOS 00, TTL 64 @13:53:41
I think I do not have to say anything about
screen --
that's the most useful tool for Unix non-GUI sessions at all.
"
smartmontools contains utility programs (smartctl,
smartd) to control/monitor storage systems using the
Self-Monitoring, Analysis and Reporting Technology System
(S.M.A.R.T.) built into most modern ATA and SCSI disks. It is
derived from smartsuite."
"
smem is a tool that can give numerous reports on
memory usage on Linux systems. Unlike existing tools, smem can
report
proportional set size (PSS), which is a more
meaningful representation of the amount of memory used by
libraries and applications in a virtual memory system.
Because large portions of physical memory are typically
shared among multiple applications, the standard measure of
memory usage known as resident set size (RSS) will
significantly overestimate memory usage. PSS instead
measures each application's "fair share" of each shared area
to give a realistic measure.
smem has many features:
- system overview listing
- listings by process, mapping, user
- filtering by process, mapping, or user
- configurable columns from multiple data sources
- configurable output units and percentages
- configurable headers and totals
- reading live data from /proc
- reading data snapshots from directory mirrors or
compressed tarballs
- lightweight capture tool for embedded systems
- built-in chart generation
smem has a few requirements:
- a reasonably modern kernel (> 2.6.27 or so)
- a reasonably recent version of Python (2.4 or so)
- the matplotlib
library for chart generation (optional, auto-detected)"
Using smem
Show basic process information |
smem |
Show library-oriented view |
smem -m |
Show user-oriented view |
smem -u |
Show system view |
smem -R 4G -K /path/to/vmlinux -w |
Show totals and percentages |
smem -t -p |
Show different columns |
smem -c "name user pss" |
Sort by reverse RSS |
smem -s rss -r |
Show processes filtered by mapping |
smem -M libxml |
Show mappings filtered by process |
smem -m -P [e]volution |
Read data from capture tarball |
smem --source capture.tar.gz |
Show a bar chart labeled by pid |
smem --bar pid -c "pss uss" |
Show a pie chart of RSS labeled by name |
smem --pie name -s rss |
Notes
To install matplotlib do:
Fedora users can install it by running the command:
$ sudo yum install
python-matplotlib
While Ubuntu users can get it by running:
$ sudo apt-get install
python-matplotlib
"Smemstat reports the physical memory usage taking
into consideration shared memory. The tool can either report
a current snapshot of memory usage or periodically dump out
any changes in memory. "
smemstat usage
[xtrnaw7@t15g /var/tmp/jwm/src]$ ../bin/smemstat -h
smemstat, version 0.02.13
Usage: smemstat [options] [duration] [count]
Options are:
-a show memory
change with up/down arrows
-c get command
name from processes comm field
-d strip
directory basename off command information
-g report
memory in gigabytes
-h show this
help information
-k report
memory in kilobytes
-l show long
(full) command information
-m report
memory in megabytes
-o file dump data to json
formatted file
-p proclist specify comma
separated list of processes to monitor
-q run
quietly, useful for -o output only
-s show short
command information
-t top mode,
show only changes in memory
-T top mode,
show top memory hoggers
[xtrnaw7@t15g /var/tmp/jwm/src]$
smemstat example
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
smemstat -l -m 1 5
Change in memory (average per second):
PID
Swap
USS
PSS RSS
User Command
10318
0.000
0.078
0.078 0.078
xtrnaw7 smemstat -l -m 1 5
14040
0.000 -0.012
-0.012 -0.012
xtrnaw7 /usr/lib64/firefox/firefox
Total:
0.000
0.066
0.066 0.066
PID
Swap
USS
PSS RSS
User Command
14040
0.000
0.020
0.020 0.020
xtrnaw7 /usr/lib64/firefox/firefox
15979
0.000
0.000
0.001 0.000
xtrnaw7 gedit
10311
0.000 -0.117
-0.131 -1.672
xtrnaw7 sleep 5
30834
0.000 0.000
-0.001 0.000
xtrnaw7 bash
Total: 0.000
-0.098 -0.111 -3.324
PID
Swap
USS
PSS RSS
User Command
10326
0.000
0.117
0.129 1.613
xtrnaw7 sleep 5
14040
0.000 -0.004
-0.004 -0.004
xtrnaw7 /usr/lib64/firefox/firefox
Total:
0.000
0.113
0.125 1.609
PID
Swap
USS
PSS RSS
User Command
14040
0.000
0.113
0.113 0.113
xtrnaw7 /usr/lib64/firefox/firefox
Total:
0.000
0.113
0.113 0.113
PID
Swap
USS
PSS RSS
User Command
14040
0.000
0.762
0.762 0.762
xtrnaw7 /usr/lib64/firefox/firefox
Total:
0.000
0.762
0.762 0.762
Note: Memory reported in units of megabytes.
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
sockperf is a network benchmarking utility
over socket API that was designed for testing performance
(latency and throughput) of high-performance systems (it is
also good for testing performance of regular networking
systems as well). It covers most of the socket API calls and
options.
sockperf usage
[xtrnaw7@t540p /var/tmp/jwm/src/sockperf-3.7]$
/var/tmp/jwm/bin/sockperf -h
sockperf is a tool for testing network latency and
throughput.
version 3.7-no.git
Usage: sockperf <subcommand> [options] [args]
Type: 'sockperf <subcommand> --help' for help on a
specific subcommand.
Type: 'sockperf --version' to see the program version
number.
Available subcommands:
help (h
,?)
Display list of supported commands.
under-load (ul)
Run sockperf client for latency under
load test.
ping-pong (pp)
Run sockperf client for latency test in
ping pong mode.
playback
(pb)
Run sockperf client for latency test
using playback of predefined traffic, based on timeline
and message size.
throughput (tp)
Run sockperf client for one way
throughput test.
server
(sr)
Run sockperf as a server.
For additional information visit our website
http://github.com/mellanox/sockperf , see README file, or
Type 'sockperf <subcommand> --help'.
[xtrnaw7@t540p /var/tmp/jwm/src/sockperf-3.7]$
sockperf ul --help
[xtrnaw7@t540p /var/tmp/jwm/bin]$ ./sockperf ul
--help
under-load (ul): Run sockperf client for
latency under load test.
Usage: sockperf under-load [options]
[args]...
sockperf under-load -i ip [-p
port] [-m message_size] [-t time] [--data_integrity]
sockperf under-load -f file [-F s/p/e]
[-m message_size] [-r msg_size_range] [-t time]
Options:
-h,-?
--help,--usage
-Show the help message and exit.
--tcp
-Use TCP protocol (default UDP).
-i
--ip
-Listen on/send to ip <ip>.
-p
--port
-Listen on/connect to port
<port> (default 11111).
-f
--file
-Read list of connections from file
(used in pair with -F option).
-F
--iomux-type
-Type of multiple file descriptors
handle
[s|select|p|poll|e|epoll|r|recvfrom|x|socketxtreme](default
epoll).
--timeout
-Set select/poll/epoll timeout to
<msec>, -1 for infinite (default is 10 msec).
-a
--activity
-Measure activity by printing a '.'
for the last <N> messages processed.
-A
--Activity
-Measure activity by printing the
duration for last <N> messages processed.
--tcp-avoid-nodelay -Stop/Start
delivering TCP Messages Immediately (Enable/Disable
Nagel). Default is Nagel Disabled except in Throughput
where the default is Nagel enabled.
--tcp-skip-blocking-send
-Enables non-blocking send operation
(default OFF).
--tos
-Allows setting tos
--mc-rx-if
-Set address <ip> of interface
on which to receive mulitcast messages (can be other
then route table).
--mc-tx-if
-Set address <ip> of interface
on which to transmit mulitcast messages (can be other
then route table).
--mc-loopback-enable -Enables mc
loopback (default disabled).
--mc-ttl
-Limit the lifetime of the message
(default 2).
--mc-source-filter -Set
address <ip, hostname> of mulitcast messages
source which is allowed to receive from.
--uc-reuseaddr
-Enables unicast reuse address
(default disabled).
--lls
-Turn on LLS via socket option (value
= usec to poll).
--buffer-size
-Set total socket receive/send buffer
<size> in bytes (system defined by default).
--nonblocked
-Open non-blocked sockets.
--recv_looping_num -Set
sockperf to loop over recvfrom() until EAGAIN or
<N> good received packets, -1 for infinite, must
be used with --nonblocked (default 1).
--dontwarmup
-Don't send warm up messages on
start.
--pre-warmup-wait
-Time to wait before sending warm up messages
(seconds).
--vmazcopyread
-Use VMA's zero copy reads API (See
VMA's readme).
--daemonize
-Run as daemon.
--no-rdtsc
-Don't use register when taking time;
instead use monotonic clock.
--load-vma
-Load VMA dynamically even when
LD_PRELOAD was not used.
--rate-limit
-use rate limit (packet-pacing), with
VMA must be run with VMA_RING_ALLOCATION_LOGIC_TX mode.
--set-sock-accl
-Set socket accleration before run
(available for some of Mellanox systems)
-d
--debug[xtrnaw7@t540p /var/tmp/jwm/bin]$ ./sockperf ul
--help
under-load (ul): Run sockperf client for
latency under load test.
Usage: sockperf under-load [options]
[args]...
sockperf under-load -i ip [-p
port] [-m message_size] [-t time] [--data_integrity]
sockperf under-load -f file [-F s/p/e]
[-m message_size] [-r msg_size_range] [-t time]
Options:
-Print extra debug information.
Valid arguments:
--srv-num
-Set num of servers the client works
with to N.
--sender-affinity
-Set sender thread affinity to the given core ids
in list format (see: cat /proc/cpuinfo).
--receiver-affinity -Set
receiver thread affinity to the given core ids in list
format (see: cat /proc/cpuinfo).
--full-log
-Dump full log of all messages
send/receive time to the given file in CSV format.
--giga-size
-Print sizes in GigaByte.
--increase_output_precision
-Increase number of digits after
decimal point of the throughput output (from 3 to 9).
--dummy-send
-Use VMA's dummy send API instead of
busy wait, must be higher than regular msg rate.
optional:
set dummy-send rate per second (default 10,000), usage:
--dummy-send [<rate>|max]
-t
--time
-Run for <sec> seconds (default
1, max = 36000000).
--client_port
-Force the client side to bind to a
specific port (default = 0).
--client_ip
-Force the client side to bind to a
specific ip address (default = 0).
-b
--burst
-Control the client's number of a
messages sent in every burst.
--reply-every
-Set number of send messages between
reply messages (default = 100).
--mps
-Set number of messages-per-second
(default = 10000 - for under-load mode, or max - for
ping-pong and throughput modes; for maximum use
--mps=max;
support
--pps for old compatibility).
-m
--msg-size
-Use messages of size <size>
bytes (minimum default 14).
-r
--range
-comes with -m <size>, randomly
change the messages size in range: <size> +-
<N>.
[xtrnaw7@t540p /var/tmp/jwm/bin]$
sockperf pp --help
[xtrnaw7@t540p /var/tmp/jwm/bin]$ ./sockperf pp
--help
ping-pong (pp): Run sockperf client for
latency test in ping pong mode.
Usage: sockperf ping-pong [options] [args]...
sockperf ping-pong -i ip [-p
port] [-m message_size] [-t time]
sockperf ping-pong -f file [-F s/p/e]
[-m message_size] [-r msg_size_range] [-t time]
Options:
-h,-?
--help,--usage
-Show the help message and exit.
--tcp
-Use TCP protocol (default UDP).
-i
--ip
-Listen on/send to ip <ip>.
-p
--port
-Listen on/connect to port
<port> (default 11111).
-f
--file
-Read list of connections from file
(used in pair with -F option).
-F
--iomux-type
-Type of multiple file descriptors
handle
[s|select|p|poll|e|epoll|r|recvfrom|x|socketxtreme](default
epoll).
--timeout
-Set select/poll/epoll timeout to
<msec>, -1 for infinite (default is 10 msec).
-a
--activity
-Measure activity by printing a '.'
for the last <N> messages processed.
-A
--Activity
-Measure activity by printing the
duration for last <N> messages processed.
--tcp-avoid-nodelay -Stop/Start
delivering TCP Messages Immediately (Enable/Disable
Nagel). Default is Nagel Disabled except in Throughput
where the default is Nagel enabled.
--tcp-skip-blocking-send
-Enables non-blocking send operation
(default OFF).
--tos
-Allows setting tos
--mc-rx-if
-Set address <ip> of interface
on which to receive mulitcast messages (can be other
then route table).
--mc-tx-if
-Set address <ip> of interface
on which to transmit mulitcast messages (can be other
then route table).
--mc-loopback-enable -Enables mc
loopback (default disabled).
--mc-ttl
-Limit the lifetime of the message
(default 2).
--mc-source-filter -Set
address <ip, hostname> of mulitcast messages
source which is allowed to receive from.
--uc-reuseaddr
-Enables unicast reuse address
(default disabled).
--lls
-Turn on LLS via socket option (value
= usec to poll).
--buffer-size
-Set total socket receive/send buffer
<size> in bytes (system defined by default).
--nonblocked
-Open non-blocked sockets.
--recv_looping_num -Set
sockperf to loop over recvfrom() until EAGAIN or
<N> good received packets, -1 for infinite, must
be used with --nonblocked (default 1).
--dontwarmup
-Don't send warm up messages on
start.
--pre-warmup-wait
-Time to wait before sending warm up messages
(seconds).
--vmazcopyread
-Use VMA's zero copy reads API (See
VMA's readme).
--daemonize
-Run as daemon.
--no-rdtsc
-Don't use register when taking time;
instead use monotonic clock.
--load-vma
-Load VMA dynamically even when
LD_PRELOAD was not used.
--rate-limit
-use rate limit (packet-pacing), with
VMA must be run with VMA_RING_ALLOCATION_LOGIC_TX mode.
--set-sock-accl
-Set socket accleration before run
(available for some of Mellanox systems)
-d
--debug
-Print extra debug information.
Valid arguments:
--srv-num
-Set num of servers the client works
with to N.
--sender-affinity
-Set sender thread affinity to the given core ids
in list format (see: cat /proc/cpuinfo).
--receiver-affinity -Set
receiver thread affinity to the given core ids in list
format (see: cat /proc/cpuinfo).
--full-log
-Dump full log of all messages
send/receive time to the given file in CSV format.
--giga-size
-Print sizes in GigaByte.
--increase_output_precision
-Increase number of digits after
decimal point of the throughput output (from 3 to 9).
--dummy-send
-Use VMA's dummy send API instead of
busy wait, must be higher than regular msg rate.
optional:
set dummy-send rate per second (default 10,000), usage:
--dummy-send [<rate>|max]
-t
--time
-Run for <sec> seconds (default
1, max = 36000000).
--client_port
-Force the client side to bind to a
specific port (default = 0).
--client_ip
-Force the client side to bind to a
specific ip address (default = 0).
-b
--burst
-Control the client's number of a
messages sent in every burst.
--mps
-Set number of messages-per-second
(default = 10000 - for under-load mode, or max - for
ping-pong and throughput modes; for maximum use
--mps=max;
support
--pps for old compatibility).
-m
--msg-size
-Use messages of size <size>
bytes (minimum default 14).
-r
--range
-comes with -m <size>, randomly
change the messages size in range: <size> +-
<N>.
--data-integrity
-Perform data integrity test.
[xtrnaw7@t540p /var/tmp/jwm/bin]$
sockperf pb --help
[xtrnaw7@t540p /var/tmp/jwm/bin]$ ./sockperf pb
--help
playback (pb): Run sockperf client for
latency test using playback of predefined traffic, based
on timeline and message size.
Usage: sockperf playback [options] [args]...
sockperf playback -i ip [-p port]
--data-file playback.csv
Options:
-h,-?
--help,--usage
-Show the help message and exit.
--tcp
-Use TCP protocol (default UDP).
-i
--ip
-Listen on/send to ip <ip>.
-p
--port
-Listen on/connect to port
<port> (default 11111).
-f
--file
-Read list of connections from file
(used in pair with -F option).
-F
--iomux-type
-Type of multiple file descriptors
handle
[s|select|p|poll|e|epoll|r|recvfrom|x|socketxtreme](default
epoll).
--timeout
-Set select/poll/epoll timeout to
<msec>, -1 for infinite (default is 10 msec).
-a
--activity
-Measure activity by printing a '.'
for the last <N> messages processed.
-A
--Activity
-Measure activity by printing the
duration for last <N> messages processed.
--tcp-avoid-nodelay -Stop/Start
delivering TCP Messages Immediately (Enable/Disable
Nagel). Default is Nagel Disabled except in Throughput
where the default is Nagel enabled.
--tcp-skip-blocking-send
-Enables non-blocking send operation
(default OFF).
--tos
-Allows setting tos
--mc-rx-if
-Set address <ip> of interface
on which to receive mulitcast messages (can be other
then route table).
--mc-tx-if
-Set address <ip> of interface
on which to transmit mulitcast messages (can be other
then route table).
--mc-loopback-enable -Enables mc
loopback (default disabled).
--mc-ttl
-Limit the lifetime of the message
(default 2).
--mc-source-filter -Set
address <ip, hostname> of mulitcast messages
source which is allowed to receive from.
--uc-reuseaddr
-Enables unicast reuse address
(default disabled).
--lls
-Turn on LLS via socket option (value
= usec to poll).
--buffer-size
-Set total socket receive/send buffer
<size> in bytes (system defined by default).
--nonblocked
-Open non-blocked sockets.
--recv_looping_num -Set
sockperf to loop over recvfrom() until EAGAIN or
<N> good received packets, -1 for infinite, must
be used with --nonblocked (default 1).
--dontwarmup
-Don't send warm up messages on
start.
--pre-warmup-wait
-Time to wait before sending warm up messages
(seconds).
--vmazcopyread
-Use VMA's zero copy reads API (See
VMA's readme).
--daemonize
-Run as daemon.
--no-rdtsc
-Don't use register when taking time;
instead use monotonic clock.
--load-vma
-Load VMA dynamically even when
LD_PRELOAD was not used.
--rate-limit
-use rate limit (packet-pacing), with
VMA must be run with VMA_RING_ALLOCATION_LOGIC_TX mode.
--set-sock-accl
-Set socket accleration before run
(available for some of Mellanox systems)
-d
--debug
-Print extra debug information.
Valid arguments:
--srv-num
-Set num of servers the client works
with to N.
--sender-affinity
-Set sender thread affinity to the given core ids
in list format (see: cat /proc/cpuinfo).
--receiver-affinity -Set
receiver thread affinity to the given core ids in list
format (see: cat /proc/cpuinfo).
--full-log
-Dump full log of all messages
send/receive time to the given file in CSV format.
--giga-size
-Print sizes in GigaByte.
--increase_output_precision
-Increase number of digits after
decimal point of the throughput output (from 3 to 9).
--dummy-send
-Use VMA's dummy send API instead of
busy wait, must be higher than regular msg rate.
optional:
set dummy-send rate per second (default 10,000), usage:
--dummy-send [<rate>|max]
--reply-every
-Set number of send messages between
reply messages (default = 100).
--data-file
-Pre-prepared CSV file with
timestamps and message sizes.
[xtrnaw7@t540p /var/tmp/jwm/bin]$
sockperf tp --help
[xtrnaw7@t540p /var/tmp/jwm/bin]$ ./sockperf tp
--help
throughput (tp): Run sockperf client for one
way throughput test.
Usage: sockperf throughput [options]
[args]...
sockperf throughput -i ip [-p
port] [-m message_size] [-t time]
sockperf throughput -f file [-F s/p/e]
[-m message_size] [-r msg_size_range] [-t time]
Options:
-h,-?
--help,--usage
-Show the help message and exit.
--tcp
-Use TCP protocol (default UDP).
-i
--ip
-Listen on/send to ip <ip>.
-p
--port
-Listen on/connect to port
<port> (default 11111).
-f
--file
-Read list of connections from file
(used in pair with -F option).
-F
--iomux-type
-Type of multiple file descriptors
handle
[s|select|p|poll|e|epoll|r|recvfrom|x|socketxtreme](default
epoll).
--timeout
-Set select/poll/epoll timeout to
<msec>, -1 for infinite (default is 10 msec).
-a
--activity
-Measure activity by printing a '.'
for the last <N> messages processed.
-A
--Activity
-Measure activity by printing the
duration for last <N> messages processed.
--tcp-avoid-nodelay -Stop/Start
delivering TCP Messages Immediately (Enable/Disable
Nagel). Default is Nagel Disabled except in Throughput
where the default is Nagel enabled.
--tcp-skip-blocking-send
-Enables non-blocking send operation
(default OFF).
--tos
-Allows setting tos
--mc-rx-if
-Set address <ip> of interface
on which to receive mulitcast messages (can be other
then route table).
--mc-tx-if
-Set address <ip> of interface
on which to transmit mulitcast messages (can be other
then route table).
--mc-loopback-enable -Enables mc
loopback (default disabled).
--mc-ttl
-Limit the lifetime of the message
(default 2).
--mc-source-filter -Set
address <ip, hostname> of mulitcast messages
source which is allowed to receive from.
--uc-reuseaddr
-Enables unicast reuse address
(default disabled).
--lls
-Turn on LLS via socket option (value
= usec to poll).
--buffer-size
-Set total socket receive/send buffer
<size> in bytes (system defined by default).
--nonblocked
-Open non-blocked sockets.
--recv_looping_num -Set
sockperf to loop over recvfrom() until EAGAIN or
<N> good received packets, -1 for infinite, must
be used with --nonblocked (default 1).
--dontwarmup
-Don't send warm up messages on
start.
--pre-warmup-wait
-Time to wait before sending warm up messages
(seconds).
--vmazcopyread
-Use VMA's zero copy reads API (See
VMA's readme).
--daemonize
-Run as daemon.
--no-rdtsc
-Don't use register when taking time;
instead use monotonic clock.
--load-vma
-Load VMA dynamically even when
LD_PRELOAD was not used.
--rate-limit
-use rate limit (packet-pacing), with
VMA must be run with VMA_RING_ALLOCATION_LOGIC_TX mode.
--set-sock-accl
-Set socket accleration before run
(available for some of Mellanox systems)
-d
--debug
-Print extra debug information.
Valid arguments:
--srv-num
-Set num of servers the client works
with to N.
--sender-affinity
-Set sender thread affinity to the given core ids
in list format (see: cat /proc/cpuinfo).
--receiver-affinity -Set
receiver thread affinity to the given core ids in list
format (see: cat /proc/cpuinfo).
--full-log
-Dump full log of all messages
send/receive time to the given file in CSV format.
--giga-size
-Print sizes in GigaByte.
--increase_output_precision
-Increase number of digits after
decimal point of the throughput output (from 3 to 9).
--dummy-send
-Use VMA's dummy send API instead of
busy wait, must be higher than regular msg rate.
optional:
set dummy-send rate per second (default 10,000), usage:
--dummy-send [<rate>|max]
-t
--time
-Run for <sec> seconds (default
1, max = 36000000).
--client_port
-Force the client side to bind to a
specific port (default = 0).
--client_ip
-Force the client side to bind to a
specific ip address (default = 0).
-b
--burst
-Control the client's number of a
messages sent in every burst.
--mps
-Set number of messages-per-second
(default = 10000 - for under-load mode, or max - for
ping-pong and throughput modes; for maximum use
--mps=max;
support
--pps for old compatibility).
-m
--msg-size
-Use messages of size <size>
bytes (minimum default 14).
-r
--range
-comes with -m <size>, randomly
change the messages size in range: <size> +-
<N>.
[xtrnaw7@t540p /var/tmp/jwm/bin]$
sockperf sr --help
[xtrnaw7@t540p /var/tmp/jwm/bin]$ ./sockperf sr
--help
server (sr): Run sockperf as a server.
Usage: sockperf server [options] [args]...
sockperf server
sockperf server [-i ip] [-p port]
[--mc-rx-if ip] [--mc-tx-if ip] [--mc-source-filter ip]
sockperf server -f file [-F s/p/e]
[--mc-rx-if ip] [--mc-tx-if ip] [--mc-source-filter ip]
Options:
-h,-?
--help,--usage
-Show the help message and exit.
--tcp
-Use TCP protocol (default UDP).
-i
--ip
-Listen on/send to ip <ip>.
-p
--port
-Listen on/connect to port
<port> (default 11111).
-f
--file
-Read list of connections from file
(used in pair with -F option).
-F
--iomux-type
-Type of multiple file descriptors
handle
[s|select|p|poll|e|epoll|r|recvfrom|x|socketxtreme](default
epoll).
--timeout
-Set select/poll/epoll timeout to
<msec>, -1 for infinite (default is 10 msec).
-a
--activity
-Measure activity by printing a '.'
for the last <N> messages processed.
-A
--Activity
-Measure activity by printing the
duration for last <N> messages processed.
--tcp-avoid-nodelay -Stop/Start
delivering TCP Messages Immediately (Enable/Disable
Nagel). Default is Nagel Disabled except in Throughput
where the default is Nagel enabled.
--tcp-skip-blocking-send
-Enables non-blocking send operation
(default OFF).
--tos
-Allows setting tos
--mc-rx-if
-Set address <ip> of interface
on which to receive mulitcast messages (can be other
then route table).
--mc-tx-if
-Set address <ip> of interface
on which to transmit mulitcast messages (can be other
then route table).
--mc-loopback-enable -Enables mc
loopback (default disabled).
--mc-ttl
-Limit the lifetime of the message
(default 2).
--mc-source-filter -Set
address <ip, hostname> of mulitcast messages
source which is allowed to receive from.
--uc-reuseaddr
-Enables unicast reuse address
(default disabled).
--lls
-Turn on LLS via socket option (value
= usec to poll).
--buffer-size
-Set total socket receive/send buffer
<size> in bytes (system defined by default).
--nonblocked
-Open non-blocked sockets.
--recv_looping_num -Set
sockperf to loop over recvfrom() until EAGAIN or
<N> good received packets, -1 for infinite, must
be used with --nonblocked (default 1).
--dontwarmup
-Don't send warm up messages on
start.
--pre-warmup-wait
-Time to wait before sending warm up messages
(seconds).
--vmazcopyread
-Use VMA's zero copy reads API (See
VMA's readme).
--daemonize
-Run as daemon.
--no-rdtsc
-Don't use register when taking time;
instead use monotonic clock.
--load-vma
-Load VMA dynamically even when
LD_PRELOAD was not used.
--rate-limit
-use rate limit (packet-pacing), with
VMA must be run with VMA_RING_ALLOCATION_LOGIC_TX mode.
--set-sock-accl
-Set socket accleration before run
(available for some of Mellanox systems)
-d
--debug
-Print extra debug information.
Valid arguments:
--threads-num
-Run <N> threads on server side
(requires '-f' option).
--cpu-affinity
-Set threads affinity to the given
core ids in list format (see: cat /proc/cpuinfo).
--vmarxfiltercb
-Use VMA's receive path message
filter callback API (See VMA's readme).
--force-unicast-reply -Force server to
reply via unicast.
--dont-reply
-Server won't reply to the client
messages.
-m
--msg-size
-Set maximum message size that the
server can receive <size> bytes (default 65507).
-g
--gap-detection
-Enable gap-detection.
[xtrnaw7@t540p /var/tmp/jwm/bin]$
"
sockstat is a tool to let you view information about
open connections. It is similar to the tool of the same name
that is included in FreeBSD, trying to faithfully reproduce as
much functionality as is possible."
sockstat usage
[xtrnaw7@t540p /var/tmp/jwm]$ bin/sockstat -h
usage: bin/sockstat [-46clhu] [-p ports] [-U
uid|user] [-G gid|group] [-P pid|process] [-R protocol]
protocol =
'tcp' or 'udp' or 'raw' or 'unix'
[xtrnaw7@t540p /var/tmp/jwm]$
sockstat example
[xtrnaw7@t540p /var/tmp/jwm]$ bin/sockstat
USER
PROCESS
PID PROTO SOURCE
ADDRESS
FOREIGN
ADDRESS
STATE
xtrnaw7
mateweather-app
3874 tcp4
192.168.1.164:45532
23.213.164.17:443
CLOSE_WAIT
xtrnaw7
thunderbird
4035 tcp4
192.168.1.164:50838
173.194.76.16:993
ESTABLISHED
xtrnaw7
firefox
4826 tcp4
192.168.1.164:52426
3.123.248.34:443
ESTABLISHED
xtrnaw7
firefox
4826 tcp4
192.168.1.164:34092
3.123.217.208:443
ESTABLISHED
xtrnaw7
firefox
4826 tcp4
192.168.1.164:43048
18.194.78.163:443
ESTABLISHED
xtrnaw7
firefox
4826 tcp4
192.168.1.164:43050
18.194.78.163:443
ESTABLISHED
xtrnaw7
firefox
4826 tcp4
192.168.1.164:53306
34.214.241.122:443
ESTABLISHED
xtrnaw7
slimjet
5945 udp4
224.0.0.251:5353
*:*
CLOSED
xtrnaw7
slimjet
5945 udp4
224.0.0.251:5353
*:*
CLOSED
xtrnaw7
slimjet
6018 tcp4
192.168.1.164:40674
108.177.15.188:5228
ESTABLISHED
xtrnaw7
slimjet
6018 udp4
224.0.0.251:5353
*:*
CLOSED
xtrnaw7
slimjet
6018 tcp4
192.168.1.164:36020
88.198.47.102:443
ESTABLISHED
xtrnaw7
slimjet
6018 tcp4
192.168.1.164:45970
176.9.64.67:443
ESTABLISHED
xtrnaw7
slimjet
6018 tcp4
192.168.1.164:50320
195.93.247.93:443
ESTABLISHED
xtrnaw7
chrome
15031 udp4
224.0.0.251:5353
*:*
CLOSED
xtrnaw7
chrome
15031 udp4
224.0.0.251:5353
*:*
CLOSED
xtrnaw7
chrome
15069 tcp4
192.168.1.164:40672
108.177.15.188:5228
ESTABLISHED
xtrnaw7
chrome
15069 udp4
224.0.0.251:5353
*:*
CLOSED
xtrnaw7
chrome
15069 udp4
224.0.0.251:5353
*:*
CLOSED
[xtrnaw7@t540p /var/tmp/jwm]$
"stress is a deliberately simple workload
generator for POSIX systems. It imposes a configurable
amount of CPU, memory, I/O, and disk stress on the system. "
stress usage
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ bin/stress
--help
`stress' imposes certain types of compute stress on your
system
Usage: stress [OPTION [ARG]] ...
-?,
--help
show this help statement
--version show version
statement
-v, --verbose be
verbose
-q,
--quiet be quiet
-n, --dry-run show
what would have been done
-t, --timeout N timeout after N
seconds
--backoff N
wait factor of N microseconds before work starts
-c, --cpu
N spawn N
workers spinning on sqrt()
-i, --io
N spawn N
workers spinning on sync()
-m, --vm
N spawn N
workers spinning on malloc()/free()
--vm-bytes B malloc B
bytes per vm worker (default is 256MB)
--vm-stride B touch a byte
every B bytes (default is 4096)
--vm-hang N
sleep N secs before free (default none, 0 is inf)
--vm-keep redirty memory
instead of freeing and reallocating
-d, --hdd
N spawn N
workers spinning on write()/unlink()
--hdd-bytes B write B bytes
per hdd worker (default is 1GB)
Example: stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M
--timeout 10s
Note: Numbers may be suffixed with s,m,h,d,y (time) or
B,K,M,G (size).
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
stress example
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ bin/stress
-c 5
stress: info: [11253] dispatching hogs: 5 cpu, 0 io, 0 vm,
0 hdd
^C
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
->
"
stress-ng will stress test a computer system in
various selectable ways. It was designed to exercise various
physical subsystems of a computer as well as the various
operating system kernel interfaces. Stress-ng features:
- 160+ stress tests
- Almost 70 CPU specific stress tests that exercise
floating point, integer, bit manipulation and control flow
- Over 20 virtual memory stress tests
stress-ng was originally intended to make a machine work
hard and trip hardware issues such as thermal overruns as
well as operating system bugs that only occur when a system
is being thrashed hard. Use stress-ng with caution as some
of the tests can make a system run hot on poorly designed
hardware and also can cause excessive system thrashing which
may be difficult to stop.
stress-ng can also measure test throughput rates; this can
be useful to observe performance changes across different
operating system releases or types of hardware. However, it
has never been intended to be used as a precise benchmark
test suite, so do NOT use it in this manner.
Running stress-ng with root privileges will adjust out of
memory settings on Linux systems to make the stressors
unkillable in low memory situations, so use this
judiciously. With the apropriate privilege, stress-ng can
allow the ionice class and ionice levels to be adjusted,
again, this should be used with care."
stress-ng usage
[xtrnaw7@t15g
/var/tmp/jwm/src]$ ../bin/stress-ng --help
stress-ng, version 0.17.05 (gcc 13.2.1, x86_64 Linux
6.6.14-200.fc39.x86_64) 💻🔥
Usage: stress-ng [OPTION [ARG]]
General control options:
--abort
abort all stressors if any stressor fails
--aggressive
enable all aggressive options
-a N, --all
N
start N workers of each stress test
-b N, --backoff
N
wait of N microseconds before work starts
--change-cpu
force child processes to use different CPU to that of
parent
--class
name
specify a class of stressors, use with --sequential
-n,
--dry-run
do not run
--ftrace
enable kernel function call tracing
-h,
--help
show help
--ignite-cpu
alter kernel controls to make CPU run hot
--interrupts
check for error interrupts
--ionice-class
C specify ionice
class (idle, besteffort, realtime)
--ionice-level
L specify ionice
level (0 max, 7 min)
--iostate
S
show I/O statistics every S seconds
-j, --job
jobfile
run the named jobfile
--keep-files
do not remove files or directories
-k,
--keep-name
keep stress worker names to be 'stress-ng'
--klog-check
check kernel message log for errors
--ksm
enable kernel samepage merging
--log-brief
less verbose log messages
--log-file
filename log messages to a log
file
--log-lockless
log messages without message locking
--maximize
enable maximum stress options
--max-fd
N
set maximum file descriptor limit
--mbind
set NUMA memory binding to specific nodes
-M,
--metrics
print pseudo metrics of activity
--metrics-brief
enable metrics and only show non-zero results
--minimize
enable minimal stress options
--no-madvise
don't use random madvise options for each mmap
--no-oom-adjust
disable all forms of out-of-memory score adjustments
--no-rand-seed
seed random numbers with the same constant
--oom-avoid
Try to avoid stressors from being OOM'd
--oom-avoid-bytes
N Number of bytes free to stop
further memory allocations
--oomable
Do not respawn a stressor if it gets OOM'd
--page-in
touch allocated pages that are not in core
--parallel
N
synonym for 'all N'
--pathological
enable stressors that are known to hang a machine
--perf
display perf statistics
--permute
N
run permutations of stressors with N stressors per
permutation
-q,
--quiet
quiet output
-r, --random
N
start N random workers
--sched
type
set scheduler type
--sched-prio
N
set scheduler priority level N
--sched-period
N set period for
SCHED_DEADLINE to N nanosecs (Linux only)
--sched-runtime
N set runtime for
SCHED_DEADLINE to N nanosecs (Linux only)
--sched-deadline
N set deadline for
SCHED_DEADLINE to N nanosecs (Linux only)
--sched-reclaim
set reclaim cpu bandwidth for deadline scheduler (Linux
only)
--seed
N
set the random number generator seed with a 64 bit value
--sequential
N
run all stressors one by one, invoking N of them
--skip-silent
silently skip unimplemented stressors
--smart
show changes in S.M.A.R.T. data
--sn
use scientific notation for metrics
--status
S
show stress-ng progress status every S seconds
--stderr
all output to stderr
--stdout
all output to stdout (now the default)
--stressors
show available stress tests
--syslog
log messages to the syslog
--taskset
use specific CPUs (set CPU affinity)
--temp-path
path specify
path for temporary directories and files
--thermalstat
S show CPU
and thermal load stats every S seconds
--thrash
force all pages in causing swap thrashing
-t N, --timeout
T
timeout after T seconds
--timer-slack
N set
slack slack to N nanoseconds, 0 for default
--times
show run time summary at end of the run
--timestamp
timestamp log output
--tz
collect temperatures from thermal zones (Linux only)
-v,
--verbose
verbose output
--verify
verify results (not available on all tests)
--verifiable
show stressors that enable verification via --verify
-V,
--version
show version
--vmstat
S
show memory and process statistics every S seconds
-x, --exclude
list
list of stressors to exclude (not run)
--with
list
list of stressors to invoke (use with --seq or --all)
-Y, --yaml
file
output results to YAML formatted file
Stressor specific options:
--access
N
start N workers that stress file access permissions
--access-ops
N
stop after N file access bogo operations
--acl
N
start N workers exercising valid ACL file mode bits
--acl-rand
randomize ordering of ACL file mode tests
--acl-ops
N
stop acl workers after N bogo operations
--af-alg
N
start N workers that stress AF_ALG socket domain
--af-alg-dump
dump internal list from /proc/crypto to stdout
--af-alg-ops
N
stop after N af-alg bogo operations
--affinity
N
start N workers that rapidly change CPU affinity
--affinity-delay
D delay in nanoseconds
between affinity changes
--affinity-ops
N stop after N
affinity bogo operations
--affinity-pin
keep per stressor threads pinned to same CPU
--affinity-rand
change affinity randomly rather than sequentially
--affinity-sleep
N sleep in nanoseconds
between affinity changes
--aio
N
start N workers that issue async I/O requests
--aio-ops
N
stop after N bogo async I/O requests
--aio-requests
N number of
async I/O requests per worker
--aiol
N
start N workers that exercise Linux async I/O
--aiol-ops
N
stop after N bogo Linux aio async I/O requests
--aiol-requests
N number of Linux aio
async I/O requests per worker
--apparmor
start N workers exercising AppArmor interfaces
--apparmor-ops
N stop after N
bogo AppArmor worker bogo operations
--alarm
N
start N workers exercising alarm timers
--alarm-ops
N
stop after N alarm bogo operations
--atomic
start N workers exercising GCC atomic operations
--atomic-ops
stop after N bogo atomic bogo operations
--bad-altstack
N start N
workers exercising bad signal stacks
--bad-altstack-ops
N stop after N bogo signal stack
SIGSEGVs
--bad-ioctl
N
start N stressors that perform illegal read ioctls on
devices
--bad-ioctl-ops
N stop after N bad ioctl
bogo operations
--bad-ioctl-method
M method of selecting ioctl command [
random | inc | random-inc | stride ]
-B N, --bigheap
N
start N workers that grow the heap using realloc()
--bigheap-bytes
N grow heap up to N
bytes in total
--bigheap-growth
N grow heap by N bytes per
iteration
--bigheap-mlock
attempt to mlock newly mapped pages
--bigheap-ops
N stop
after N bogo bigheap operations
--bind-mount
N
start N workers exercising bind mounts
--bind-mount-ops
N stop after N bogo bind
mount operations
--binderfs
N
start N workers exercising binderfs
--binderfs-ops
N stop after N
bogo binderfs operations
--branch
N
start N workers that force branch misprediction
--branch-ops
N
stop after N branch misprediction branches
--brk
N
start N workers performing rapid brk calls
--brk-bytes
N
grow brk region up to N bytes in total
--brk-mlock
attempt to mlock newly mapped brk pages
--brk-notouch
don't touch (page in) new data segment page
--brk-ops
N
stop after N brk bogo operations
--bsearch
N
start N workers that exercise a binary search
--bsearch-method
M select bsearch method [
bsearch-libc | bsearch-nonlibc ]
--bsearch-ops
N stop
after N binary search bogo operations
--bsearch-size
N number of 32
bit integers to bsearch
-C N, --cache
N
start N CPU cache thrashing workers
--cache-size
N
override the default cache size setting to N bytes
--cache-cldemote
cache line demote (x86 only)
--cache-clflushopt optimized
cache line flush (x86 only)
--cache-enable-all enable
all cache options (fence,flush,sfence,etc..)
--cache-fence
serialize stores
--cache-flush
flush cache after every memory write (x86 only)
--cache-level
N only
exercise specified cache
--cache-no-affinity do not change
CPU affinity
--cache-ops
N
stop after N cache bogo operations
--cache-prefetch
prefetch on memory reads/writes
--cache-sfence
serialize stores with sfence
--cache-ways
N
only fill specified number of cache ways
--cache-clwb
cache line writeback (x86 only)
--cacheline
N
start N workers that exercise cachelines
--cacheline-affinity modify CPU affinity
--cacheline-method
M use cacheline stressing method M
--cacheline-ops
N stop after N
cacheline bogo operations
--cap
N
start N workers exercising capget
--cap-ops
N
stop cap workers after N bogo capget operations
--cgroup
N
start N workers exercising cgroup mount/read/write/umounts
--cgroup-ops
N
stop after N iterations of cgroup actions
--chattr
N
start N workers thrashing chattr file mode bits
--chattr-ops
N
stop chattr workers after N bogo operations
--chdir
N
start N workers thrashing chdir on many paths
--chdir-dirs
N
select number of directories to exercise chdir on
--chdir-ops
N
stop chdir workers after N bogo chdir operations
--chmod
N
start N workers thrashing chmod file mode bits
--chmod-ops
N
stop chmod workers after N bogo operations
--chown
N
start N workers thrashing chown file ownership
--chown-ops
N
stop chown workers after N bogo operations
--chroot
N
start N workers thrashing chroot
--chroot-ops
N
stop chroot workers after N bogo operations
--clock
N
start N workers thrashing clocks and POSIX timers
--clock-ops
N
stop clock workers after N bogo operations
--clone
N
start N workers that rapidly create and reap clones
--clone-max
N
set upper limit of N clones per worker
--clone-ops
N
stop after N bogo clone operations
--close
N
start N workers that exercise races on close
--close-ops
N
stop after N bogo close operations
--context
N
start N workers exercising user context
--context-ops
N stop
context workers after N bogo operations
--copy-file
N
start N workers that copy file data
--copy-file-bytes
N specify size of file to be
copied
--copy-file-ops
N stop after N copy
bogo operations
-c N, --cpu
N
start N workers that perform CPU only loading
-l P, --cpu-load
P
load CPU by P %, 0=sleep, 100=full load (see -c)
--cpu-load-slice
S specify time slice during
busy load
--cpu-method
M
specify stress cpu method M, default is all
--cpu-old-metrics use
old CPU metrics instead of normalized metrics
--cpu-ops
N
stop after N cpu bogo operations
--cpu-online
N
start N workers offlining/onlining the CPUs
--cpu-online-affinity set CPU affinity to the
CPU to be offlined
--cpu-online-all
attempt to exercise all CPUs include CPU 0
--cpu-online-ops
N stop after N
offline/online operations
--crypt
N
start N workers performing password encryption
--crypt-ops
N
stop after N bogo crypt operations
--cyclic
N
start N cyclic real time benchmark stressors
--cyclic-dist
N
calculate distribution of interval N nanosecs
--cyclic-method
M specify cyclic
method M, default is clock_ns
--cyclic-ops
N
stop after N cyclic timing cycles
--cyclic-policy
P used rr or fifo
scheduling policy
--cyclic-prio
N real
time scheduling priority 1..100
--cyclic-samples
N number of latency samples
to take
--cyclic-sleep
N sleep time of
real time timer in nanosecs
--daemon
N
start N workers creating multiple daemons
--daemon-ops
N
stop when N daemons have been created
--daemon-wait
stressor wait for daemon to exit and not init
--dccp
N
start N workers exercising network DCCP I/O
--dccp-domain
D specify
DCCP domain, default is ipv4
--dccp-if
I
use network interface I, e.g. lo, eth0, etc.
--dccp-ops
N
stop after N DCCP bogo operations
--dccp-opts
option DCCP data send
options [send|sendmsg|sendmmsg]
--dccp-port
P
use DCCP ports P to P + number of workers - 1
--dccp-msgs
N
number of DCCP messages to send per connection
--dekker
N
start N workers that exercise the Dekker algorithm
--dekker-ops
N
stop after N dekker mutex bogo operations
-D N, --dentry
N
start N dentry thrashing stressors
--dentry-ops
N
stop after N dentry bogo operations
--dentry-order
O specify unlink
order (reverse, forward, stride)
--dentries
N
create N dentries per iteration
--dev
N
start N device entry thrashing stressors
--dev-file
name
specify the /dev/ file to exercise
--dev-ops
N
stop after N device thrashing bogo ops
--dev-shm
N
start N /dev/shm file and mmap stressors
--dev-shm-ops
N stop
after N /dev/shm bogo ops
--dir
N
start N directory thrashing stressors
--dir-dirs
N
select number of directories to exercise dir on
--dir-ops
N
stop after N directory bogo operations
--dirdeep
N
start N directory depth stressors
--dirdeep-bytes
N size of files to
create per level (see --dirdeep-files)
--dirdeep-dirs
N create N
directories per level
--dirdeep-files
N create N files per
level (see --dirdeep-bytes)
--dirdeep-inodes
N create a maximum N inodes
(N can also be %)
--dirdeep-ops
N stop
after N directory depth bogo operations
--dirmany
N
start N directory file populating stressors
--dirmany-bytes
specify size of files (default 0)
--dirmany-ops
N stop
after N directory file bogo operations
--dnotify
N
start N workers exercising dnotify events
--dnotify-ops
N stop
dnotify workers after N bogo operations
--dup
N
start N workers exercising dup/close
--dup-ops
N
stop after N dup/close bogo operations
--dynlib
N
start N workers exercising dlopen/dlclose
--dynlib-ops
N
stop after N dlopen/dlclose bogo operations
--eigen
N
start N workers exercising eigen operations
--eigen-method
M specify eigen
stress method M, default is all
--eigen-ops
N
stop after N maxtrix bogo operations
--eigen-size
N
specify the size of the N x N eigen
--efivar
N
start N workers that read EFI variables
--efivar-ops
N
stop after N EFI variable bogo read operations
--enosys
N
start N workers that call non-existent system calls
--enosys-ops
N
stop after N enosys bogo operations
--env
N
start N workers setting environment vars
--env-ops
N
stop after N env bogo operations
--epoll
N
start N workers doing epoll handled socket activity
--epoll-domain
D specify socket
domain, default is unix
--epoll-ops
N
stop after N epoll bogo operations
--epoll-port
P
use socket ports P upwards
--epoll-sockets
N specify maximum
number of open sockets
--eventfd
N
start N workers stressing eventfd read/writes
--eventfs-nonblock poll with
non-blocking I/O on eventfd fd
--eventfd-ops
N stop
eventfd workers after N bogo operations
--exec
N
start N workers spinning on fork() and exec()
--exec-fork-method
M select exec fork method: clone fork
spawn vfork
--exec-max
P
create P workers per iteration, default is 4096
--exec-method
M select
exec method: all, execve, execveat
--exec-no-pthread do
not use pthread_create
--exec-ops
N
stop after N exec bogo operations
--exit-group
N
start N workers that exercise exit_group
--exit-group-ops
N stop exit_group workers
after N bogo exit_group loops
--factor
N
start N workers performing multi-precision floating point
operations
--factor-digits
N specific number of
digits of number to factor
--factor-ops
N
stop after N factorisation operations
--fallocate
N
start N workers fallocating 16MB files
--fallocate-bytes
N specify size of file to allocate
--fallocate-ops
N stop after N
fallocate bogo operations
--fanotify
N
start N workers exercising fanotify events
--fanotify-ops
N stop fanotify
workers after N bogo operations
--far-branch
N
start N far branching workers
--far-branch-ops
N stop after N far branching
bogo operations
--far-branch-pages
N number of pages to populate with
functions
--fault
N
start N workers producing page faults
--fault-ops
N
stop after N page fault bogo operations
--fcntl
N
start N workers exercising fcntl commands
--fcntl-ops
N
stop after N fcntl bogo operations
--fiemap
N
start N workers exercising the FIEMAP ioctl
--fiemap-bytes
N specify size
of file to fiemap
--fiemap-ops
N
stop after N FIEMAP ioctl bogo operations
--fifo
N
start N workers exercising fifo I/O
--fifo-data-size
N set fifo read/write size
in bytes (default 8)
--fifo-ops
N
stop after N fifo bogo operations
--fifo-readers
N number of fifo
reader stressors to start
--file-ioctl
N
start N workers exercising file specific ioctls
--file-ioctl-ops
N stop after N file ioctl
bogo operations
--filename
N
start N workers exercising filenames
--filename-ops
N stop after N
filename bogo operations
--filename-opts
opt specify allowed filename
options
--flock
N
start N workers locking a single file
--flock-ops
N
stop after N flock bogo operations
--flushcache
N
start N CPU instruction + data cache flush workers
--flushcache-ops
N stop after N flush cache
bogo operations
--fma
N
start N workers performing floating point multiply-add ops
--fma-ops
N
stop after N floating point multiply-add bogo operations
-f N, --fork
N
start N workers spinning on fork() and exit()
--fork-max
P
create P workers per iteration, default is 1
--fork-ops
N
stop after N fork bogo operations
--fork-vm
enable extra virtual memory pressure
--forkheavy
N
start N workers that rapidly fork and reap resource heavy
processes
--forkheavy-allocs
N attempt to allocate N x resources
--forkheavy-mlock
attempt to mlock newly mapped pages
--forkheavy-ops
N stop after N bogo
fork operations
--forkheavy-procs
N attempt to fork N processes
--fp
N
start N workers performing floating point math ops
--fp-method
M
select the floating point method to operate with
--fp-ops
N
stop after N floating point math bogo operations
--fp-error
N
start N workers exercising floating point errors
--fp-error-ops
N stop after N
fp-error bogo operations
--fpunch
N
start N workers punching holes in a 16MB file
--fpunch-ops
N
stop after N punch bogo operations
--fsize
N
start N workers exercising file size limits
--fsize-ops
N
stop after N fsize bogo operations
--fstat
N
start N workers exercising fstat on files
--fstat-dir
path fstat files
in the specified directory
--fstat-ops
N
stop after N fstat bogo operations
--full
N
start N workers exercising /dev/full
--full-ops
N
stop after N /dev/full bogo I/O operations
--funccall
N
start N workers exercising 1 to 9 arg functions
--funccall-method
M select function call method M
--funccall-ops
N stop after N
function call bogo operations
--funcret
N
start N workers exercising function return copying
--funcret-method
M select method of
exercising a function return type
--funcret-ops
N stop
after N function return bogo operations
--futex
N
start N workers exercising a fast mutex
--futex-ops
N
stop after N fast mutex bogo operations
--get
N
start N workers exercising the get*() system calls
--get-ops
N
stop after N get bogo operations
--getdent
N
start N workers reading directories using getdents
--getdent-ops
N stop
after N getdents bogo operations
--getrandom
N
start N workers fetching random data via getrandom()
--getrandom-ops
N stop after N
getrandom bogo operations
--goto
N
start N workers that exercise heavy branching
--goto-direction
D select goto direction
forward, backward, random
--goto-ops
N
stop after 1024 x N goto bogo operations
--gpu
N
start N GPU worker
--gpu-devnode
name specify CPU device node
name
--gpu-frag
N
specify shader core usage per pixel
--gpu-ops
N
stop after N gpu render bogo operations
--gpu-tex-size
N specify upload
texture NxN
--gpu-upload
N
specify upload texture N times per frame
--gpu-xsize
X
specify framebuffer size x
--gpu-ysize
Y
specify framebuffer size y
--handle
N
start N workers exercising name_to_handle_at
--handle-ops
N
stop after N handle bogo operations
--hash
N
start N workers that exercise various hash functions
--hash-method
M specify
stress hash method M, default is all
--hash-ops
N
stop after N hash bogo operations
-d N, --hdd
N
start N workers spinning on write()/unlink()
--hdd-bytes
N
write N bytes per hdd worker (default is 1GB)
--hdd-ops
N
stop after N hdd bogo operations
--hdd-opts
list
specify list of various stressor options
--hdd-write-size
N set the default write size
to N bytes
--heapsort
N
start N workers heap sorting 32 bit random integers
--heapsort-method
M select sort method [
heapsort-libc | heapsort-nonlibc
--heapsort-ops
N stop after N
heap sort bogo operations
--heapsort-size
N number of 32 bit
integers to sort
--hrtimers
N
start N workers that exercise high resolution timers
--hrtimers-adjust
adjust rate to try and maximum timer rate
--hrtimers-ops
N stop after N
bogo high-res timer bogo operations
--hsearch
N
start N workers that exercise a hash table search
--hsearch-ops
N stop
after N hash search bogo operations
--hsearch-size
N number of
integers to insert into hash table
--icache
N
start N CPU instruction cache thrashing workers
--icache-ops
N
stop after N icache bogo operations
--icmp-flood
N
start N ICMP packet flood workers
--icmp-flood-ops
N stop after N ICMP bogo
operations (ICMP packets)
--idle-page
N
start N idle page scanning workers
--idle-page-ops
N stop after N idle
page scan bogo operations
--inode-flags
N start N
workers exercising various inode flags
--inode-flags-ops
N stop inode-flags workers after N
bogo operations
--inotify
N
start N workers exercising inotify events
--inotify-ops
N stop
inotify workers after N bogo operations
-i N, --io
N
start N workers spinning on sync()
--io-ops
N
stop sync I/O after N io bogo operations
--iomix
N
start N workers that have a mix of I/O operations
--iomix-bytes
N write N
bytes per iomix worker (default is 1GB)
--iomix-ops
N
stop iomix workers after N iomix bogo operations
--ioport
N
start N workers exercising port I/O
--ioport-ops
N
stop ioport workers after N port bogo operations
--ioprio
N
start N workers exercising set/get iopriority
--ioprio-ops
N
stop after N io bogo iopriority operations
--io-uring
N
start N workers that issue io-uring I/O requests
--io-uring-entries
N specify number if io-uring ring
entries
--io-uring-ops
N stop after N
bogo io-uring I/O requests
--ipsec-mb
N
start N workers exercising the IPSec MB encoding
--ipsec-mb-feature
F specify CPU feature F
--ipsec-mb-jobs
N specify number of
jobs to run per round (default 1)
--ipsec-mb-method
M specify crypto/integrity method
--ipsec-mb-ops
N stop after N
ipsec bogo encoding operations
--itimer
N
start N workers exercising interval timers
--itimer-freq
F set the
itimer frequency, limited by jiffy clock rate
--itimer-ops
N
stop after N interval timer bogo operations
--itimer-rand
enable random interval timer frequency
--jpeg
N
start N workers that burn cycles with no-ops
--jpeg-height
N image
height in pixels
--jpeg-image
type image type: one
of brown, flat, gradient, noise, plasma or xstripes
--jpeg-ops
N
stop after N jpeg bogo no-op operations
--jpeg-quality
Q compression
quality 1 (low) .. 100 (high)
--jpeg-width
N
image width in pixels
--judy
N
start N workers that exercise a judy array search
--judy-ops
N
stop after N judy array search bogo operations
--judy-size
N
number of 32 bit integers to insert into judy array
--kcmp
N
start N workers exercising kcmp
--kcmp-ops
N
stop after N kcmp bogo operations
--key
N
start N workers exercising key operations
--key-ops
N
stop after N key bogo operations
--kill
N
start N workers killing with SIGUSR1
--kill-ops
N
stop after N kill bogo operations
--klog
N
start N workers exercising kernel syslog interface
--klog-ops
N
stop after N klog bogo operations
--kvm
N
start N workers exercising /dev/kvm
--kvm-ops
N
stop after N kvm create/run/destroy operations
--l1cache
N
start N CPU level 1 cache thrashing workers
--l1cache-line-size
N specify level 1 cache line size
--l1cache-method
M l1 cache thrashing method:
forward, reverse, random
--l1cache-mlock
attempt to mlock memory
--l1cache-sets
N specify level
1 cache sets
--l1cache-size
N specify level
1 cache size
--l1cache-ways
N only fill
specified number of cache ways
--landlock
N
start N workers stressing landlock file operations
--landlock-ops
N stop after N
landlock bogo operations
--lease
N
start N workers holding and breaking a lease
--lease-breakers
N number of lease breaking
workers to start
--lease-ops
N
stop after N lease bogo operations
--led
N
start N workers that read and set LED settings
--led-ops
N
stop after N LED bogo operations
--link
N
start N workers creating hard links
--link-ops
N
stop after N link bogo operations
--link-sync
enable sync'ing after linking/unlinking
--list
N
start N workers that exercise list structures
--list-method
M select
list method: all, circleq, list, slist, slistt, stailq,
tailq
--list-ops
N
stop after N bogo list operations
--list-size
N
N is the number of items in the list
--llc-affinity
N start N
workers exercising low level cache over all CPUs
--llc-affinity-mlock attempt to mlock
pages into memory
--llc-affinity-ops
N stop after N low-level-cache bogo
operations
--loadavg
N
start N workers that create a large load average
--loadavg-ops
N stop
load average workers after N bogo operations
--loadavg-max
N set
upper limit on number of pthreads to create
--locka
N
start N workers locking a file via advisory locks
--locka-ops
N
stop after N locka bogo operations
--lockbus
N
start N workers locking a memory increment
--lockbus-nosplit
disable split locks
--lockbus-ops
N stop
after N lockbus bogo operations
--lockf
N
start N workers locking a single file via lockf
--lockf-nonblock
don't block if lock cannot be obtained, re-try
--lockf-ops
N
stop after N lockf bogo operations
--lockofd
N
start N workers using open file description locking
--lockofd-ops
N stop
after N lockofd bogo operations
--longjmp
N
start N workers exercising setjmp/longjmp
--longjmp-ops
N stop
after N longjmp bogo operations
--loop
N
start N workers exercising loopback devices
--loop-ops
N
stop after N bogo loopback operations
--lsearch
N
start N workers that exercise a linear search
--lsearch-method
M select lsearch method [
lsearch-libc | lsearch-nonlibc ]
--lsearch-ops
N stop
after N linear search bogo operations
--lsearch-size
N number of 32
bit integers to lsearch
--madvise
N
start N workers exercising madvise on memory
--madvise-ops
N stop
after N bogo madvise operations
--madvise-hwpoison enable
hardware page poisoning (disabled by default)
--malloc
N
start N workers exercising malloc/realloc/free
--malloc-bytes
N allocate up to
N bytes per allocation
--malloc-max
N
keep up to N allocations at a time
--malloc-mlock
attempt to mlock pages into memory
--malloc-ops
N
stop after N malloc bogo operations
--malloc-pthreads
N number of pthreads to run
concurrently
--malloc-thresh
N threshold where
malloc uses mmap instead of sbrk
--malloc-touch
touch pages force pages to be populated
--malloc-zerofree zero
free'd memory
--malloc-trim
enable malloc trimming
--matrix
N
start N workers exercising matrix operations
--matrix-method
M specify matrix
stress method M, default is all
--matrix-ops
N
stop after N maxtrix bogo operations
--matrix-size
N specify
the size of the N x N matrix
--matrix-yx
matrix operation is y by x instead of x by y
--matrix-3d
N
start N workers exercising 3D matrix operations
--matrix-3d-method
M specify 3D matrix stress method M,
default is all
--matrix-3d-ops
N stop after N 3D
maxtrix bogo operations
--matrix-3d-size
N specify the size of the N
x N x N matrix
--matrix-3d-zyx
matrix operation is z by y by x instead of x by y by z
--mcontend
N
start N workers that produce memory contention
--mcontend-ops
N stop memory
contention workers after N bogo-ops
--membarrier
N
start N workers performing membarrier system calls
--membarrier-ops
N stop after N membarrier
bogo operations
--memcpy
N
start N workers performing memory copies
--memcpy-method
M set memcpy method (M
= all, libc, builtin, naive..)
--memcpy-ops
N
stop after N memcpy bogo operations
--memfd
N
start N workers allocating memory with memfd_create
--memfd-bytes
N allocate
N bytes for each stress iteration
--memfd-fds
N
number of memory fds to open per stressors
--memfd-mlock
attempt to mlock pages into memory
--memfd-ops
N
stop after N memfd bogo operations
--memhotplug
N
start N workers that exercise memory hotplug
--memhotplug-ops
N stop after N memory
hotplug operations
--memrate
N
start N workers exercised memory read/writes
--memrate-bytes
N size of memory
buffer being exercised
--memrate-ops
N stop
after N memrate bogo operations
--memrate-rd-mbs
N read rate from buffer in
megabytes per second
--memrate-wr-mbs
N write rate to buffer in
megabytes per second
--memrate-flush
flush cache before each iteration
--memthrash
N
start N workers thrashing a 16MB memory buffer
--memthrash-method
M specify memthrash method M, default is
all
--memthrash-ops
N stop after N
memthrash bogo operations
--mergesort
N
start N workers merge sorting 32 bit random integers
--mergesort-method
M select sort method [ method-libc |
method-nonlibc
--mergesort-ops
N stop after N merge
sort bogo operations
--mergesort-size
N number of 32 bit integers
to sort
--metamix
N
start N workers that have a mix of file metadata
operations
--metamix-bytes
N write N bytes per
metamix file (default is 1MB, 16 files per instance)
--metamix-ops
N stop
metamix workers after N metamix bogo operations
--mincore
N
start N workers exercising mincore
--mincore-ops
N stop
after N mincore bogo operations
--mincore-random
randomly select pages rather than linear scan
--misaligned
N
start N workers performing misaligned read/writes
--misaligned-method
M use misaligned memory read/write method
--misaligned-ops
N stop after N misaligned
bogo operations
--mknod
N
start N workers that exercise mknod
--mknod-ops
N
stop after N mknod bogo operations
--mlock
N
start N workers exercising mlock/munlock
--mlock-ops
N
stop after N mlock bogo operations
--mlockmany
N
start N workers exercising many mlock/munlock processes
--mlockmany-ops
N stop after N
mlockmany bogo operations
--mlockmany-procs
N use N child processes to mlock
regions
--mmap
N
start N workers stressing mmap and munmap
--mmap-async
using asynchronous msyncs for file based mmap
--mmap-bytes
N
mmap and munmap N bytes for each stress iteration
--mmap-stressful
enable most stressful mmap options (and slowest)
--mmap-file
mmap onto a file using synchronous msyncs
--mmap-madvise
enable random madvise on mmap'd region
--mmap-mergeable
where possible, flag mmap'd pages as mergeable
--mmap-mlock
attempt to mlock mmap'd pages
--mmap-mmap2
use mmap2 instead of mmap (when available)
--mmap-mprotect
enable mmap mprotect stressing
--mmap-odirect
enable O_DIRECT on file
--mmap-ops
N
stop after N mmap bogo operations
--mmap-osync
enable O_SYNC on file
--mmap-slow-munmap munmap
pages inefficiently one at a time
--mmap-write-check set check
value in each page and perform sanity read check
--mmapaddr
N
start N workers stressing mmap with random addresses
--mmapaddr-mlock
attempt to mlock pages into memory
--mmapaddr-ops
N stop after N
mmapaddr bogo operations
--mmapfiles
N
start N workers stressing many mmaps and munmaps
--mmapfiles-ops
N stop after N
mmapfiles bogo operations
--mmapfiles-populate populate memory
mappings
--mmapfiles-shared enable
shared mappings instead of private mappings
--mmapfixed
N
start N workers stressing mmap with fixed mappings
--mmapfixed-mlock
attempt to mlock pages into memory
--mmapfixed-ops
N stop after N
mmapfixed bogo operations
--mmapfork
N
start N workers stressing many forked mmaps/munmaps
--mmapfork-ops
N stop after N
mmapfork bogo operations
--mmaphuge
N
start N workers stressing mmap with huge mappings
--mmaphuge-file
perform mappings on a temporary file
--mmaphuge-mlock
attempt to mlock pages into memory
--mmaphuge-mmaps
N select number of memory
mappings per iteration
--mmaphuge-ops
N stop after N
mmaphuge bogo operations
--mmapmany
N
start N workers stressing many mmaps and munmaps
--mmapmany-mlock
attempt to mlock pages into memory
--mmapmany-ops
N stop after N
mmapmany bogo operations
--module
N
start N workers performing module requests
--module-name
F use the
specified module name F to load.
--module-no-unload skip
unload of the module after module load
--module-no-modver ignore
symbol version hashes
--module-no-vermag ignore
kernel version magic
--module-ops
N
stop after N module bogo operations
--monte-carlo
N start N
workers performing monte-carlo computations
--monte-carlo-ops
N stop after N monte-carlo
operations
--monte-carlo-rand
R select random number generator [ all |
drand48 | getrandom | lcg | pcg32 | mwc32 | mwc64 | random
| xorshift ]
--monte-carlo-samples N
specify number of samples for each computation
--monte-carlo-method
M select computation method [ pi | e | exp | sin |
sqrt ]
--mprotect
N
start N workers exercising mprotect on memory
--mprotect-ops
N stop after N
bogo mprotect operations
--mpfr
N
start N workers performing multi-precision floating point
operations
--mpfr-ops
N
stop after N multi-precision floating point operations
--mpfr-precision
N specific floating point
precision as N bits
--mq
N
start N workers passing messages using POSIX messages
--mq-ops
N
stop mq workers after N bogo messages
--mq-size
N
specify the size of the POSIX message queue
--mremap
N
start N workers stressing mremap
--mremap-bytes
N mremap N bytes
maximum for each stress iteration
--mremap-mlock
mlock remap pages, force pages to be unswappable
--mremap-ops
N
stop after N mremap bogo operations
--msg
N
start N workers stressing System V messages
--msg-ops
N
stop msg workers after N bogo messages
--msg-types
N
enable N different message types
--msg-bytes
N
set the message size 4..8192
--msync
N
start N workers syncing mmap'd data with msync
--msync-bytes
N size of
file and memory mapped region to msync
--msync-ops
N
stop msync workers after N bogo msyncs
--msyncmany
N
start N workers stressing msync on many mapped pages
--msyncmany-ops
N stop after N
msyncmany bogo operations
--munmap
N
start N workers stressing munmap
--munmap-ops
N
stop after N munmap bogo operations
--mutex
N
start N workers exercising mutex operations
--mutex-affinity
change CPU affinity randomly across locks
--mutex-ops
N
stop after N mutex bogo operations
--mutex-procs
N select
the number of concurrent processes
--nanosleep
N
start N workers performing short sleeps
--nanosleep-ops
N stop after N bogo
sleep operations
--nanosleep-threads
N number of threads to run concurrently
(default 8)
--nanosleep-method
M select nanosleep sleep time method [
all | cstate | random ]
--netdev
N
start N workers exercising netdevice ioctls
--netdev-ops
N
stop netdev workers after N bogo operations
--netlink-proc
N start N
workers exercising netlink process events
--netlink-proc-ops
N stop netlink-proc workers after N bogo
events
--netlink-task
N start N
workers exercising netlink tasks events
--netlink-task-ops
N stop netlink-task workers after N bogo
events
--nice
N
start N workers that randomly re-adjust nice levels
--nice-ops
N
stop after N nice bogo operations
--nop
N
start N workers that burn cycles with no-ops
--nop-instr
INSTR specify nop
instruction to use
--nop-ops
N
stop after N nop bogo no-op operations
--null
N
exercising /dev/null with write, ioctl, lseek, fcntl,
fallocate and fdatasync
--null-ops
N
stop after N /dev/null bogo operations
--null-write
just exercise /dev/null with writing
--numa
N
start N workers stressing NUMA interfaces
--numa-bytes
N
size of memory region to be exercised
--numa-ops
N
stop after N NUMA bogo operations
--numa-shuffle-addr shuffle page
addresses to move to numa nodes
--numa-shuffle-node shuffle numa
nodes on numa pages moves
--oom-pipe
N
start N workers exercising large pipes
--oom-pipe-ops
N stop after N
oom-pipe bogo operations
--opcode
N
start N workers exercising random opcodes
--opcode-method
M set opcode stress
method (M = random, inc, mixed, text)
--opcode-ops
N
stop after N opcode bogo operations
-o N, --open
N
start N workers exercising open/close
--open-fd
open files in /proc/$pid/fd
--open-max
N
specficify maximum number of files to open
--open-ops
N
stop after N open/close bogo operations
--pagemove
N
start N workers that shuffle move pages
--pagemove-bytes
N size of mmap'd region to
exercise page moving in bytes
--pagemove-mlock
attempt to mlock pages into memory
--pagemove-ops
N stop after N
page move bogo operations
--pageswap
N
start N workers that swap pages out and in
--pageswap-ops
N stop after N
page swap bogo operations
--pci
N
start N workers that read and mmap PCI regions
--pci-ops
N
stop after N PCI bogo operations
--personality
N start N
workers that change their personality
--personality-ops
N stop after N bogo personality
calls
--peterson
N
start N workers that exercise Peterson's algorithm
--peterson-ops
N stop after N
peterson mutex bogo operations
--physpage
N
start N workers performing physical page lookup
--physpage-ops
N stop after N
physical page bogo operations
--physpage-mtrr
enable modification of MTRR types on physical page
--pidfd
N
start N workers exercising pidfd system call
--pidfd-ops
N
stop after N pidfd bogo operations
--ping-sock
N
start N workers that exercises a ping socket
--ping-sock-ops
N stop after N ping
sendto messages
-p N, --pipe
N
start N workers exercising pipe I/O
--pipe-data-size
N set pipe size of each pipe
write to N bytes
--pipe-ops
N
stop after N pipe I/O bogo operations
--pipe-size
N
set pipe size to N bytes
--pipe-vmsplice
use vmsplice for pipe data transfer
-p N, --pipeherd
N
start N multi-process workers exercising pipes I/O
--pipeherd-ops
N stop after N
pipeherd I/O bogo operations
--pipeherd-yield
force processes to yield after each write
--pkey
N
start N workers exercising pkey_mprotect
--pkey-ops
N
stop after N bogo pkey_mprotect bogo operations
--plugin
N
start N workers exercising random plugins
--plugin-method
M set plugin stress
method
--plugin-ops
N
stop after N plugin bogo operations
--plugin-so
file specify
plugin shared object file
-P N, --poll
N
start N workers exercising zero timeout polling
--poll-fds
N
use N file descriptors
--poll-ops
N
stop after N poll bogo operations
--procfs
N
start N workers reading portions of /proc
--procfs-ops
N
stop procfs workers after N bogo read operations
--prefetch
N
start N workers exercising memory prefetching
--prefetch-l3-size
N specify the L3 cache size of the CPU
--prefetch-method
M specify the prefetch method
--prefetch-ops
N stop after N
bogo prefetching operations
--prio-inv
start N workers exercising priority inversion lock
operations
--prio-inv-ops
N stop after N
priority inversion lock bogo operations
--prio-inv-policy
P select scheduler policy [ batch,
idle, fifo, other, rr ]
--prio-inv-type
T lock protocol type,
[ inherit | none | protect ]
--priv-instr
N
start N workers exercising privileged instruction
--priv-instr-ops
N stop after N bogo
instruction operations
--procfs
N
start N workers reading portions of /proc
--procfs-ops
N
stop procfs workers after N bogo read operations
--pthread
N
start N workers that create multiple threads
--pthread-max
P create P
threads at a time by each worker
--pthread-ops
N stop
pthread workers after N bogo threads created
--ptrace
N
start N workers that trace a child using ptrace
--ptrace-ops
N
stop ptrace workers after N system calls are traced
--pty
N
start N workers that exercise pseudoterminals
--pty-max
N
attempt to open a maximum of N ptys
--pty-ops
N
stop pty workers after N pty bogo operations
-Q N, --qsort
N
start N workers qsorting 32 bit random integers
--qsort-method
M select qsort
method [ qsort-libc | qsort_bm ]
--qsort-ops
N
stop after N qsort bogo operations
--qsort-size
N
number of 32 bit integers to sort
--quota
N
start N workers exercising quotactl commands
--quota-ops
N
stop after N quotactl bogo operations
--race-sched
N
start N workers that race cpu affinity
--race-sched-ops
N stop after N bogo race
operations
--race-sched-method
M method M: all, rand, next, prev, yoyo,
randinc
--radixsort
N
start N workers radix sorting random strings
--radixsort-method
M select sort method [ radixsort-libc |
radixsort-nonlibc]
--radixsort-ops
N stop after N
radixsort bogo operations
--radixsort-size
N number of strings to sort
--randlist
N
start N workers that exercise random ordered list
--randlist-compact reduce
mmap and malloc overheads
--randlist-items
N number of items in the
random ordered list
--randlist-ops
N stop after N
randlist bogo no-op operations
--randlist-size
N size of data in each
item in the list
--ramfs
N
start N workers exercising ramfs mounts
--ramfs-size
N
set the ramfs size in bytes, e.g. 2M is 2MB
--ramfs-fill
attempt to fill ramfs
--ramfs-ops
N
stop after N bogo ramfs mount operations
--rawdev
N
start N workers that read a raw device
--rawdev-method
M specify the rawdev
read method to use
--rawdev-ops
N
stop after N rawdev read operations
--rawpkt
N
start N workers exercising raw packets
--rawpkt-ops
N
stop after N raw packet bogo operations
--rawpkt-port
P use raw
packet ports P to P + number of workers - 1
--rawpkt-rxring
N setup raw packets
with RX ring with N number of blocks, this selects
TPACKET_V3
--rawsock
N
start N workers performing raw socket send/receives
--rawsock-ops
N stop
after N raw socket bogo operations
--rawsock-port
P use socket P
to P + number of workers - 1
--rawudp
N
start N workers exercising raw UDP socket I/O
--rawudp-if
I
use network interface I, e.g. lo, eth0, etc.
--rawudp-ops
N
stop after N raw socket UDP bogo operations
--rawudp-port
P use raw
socket ports P to P + number of workers - 1
--rdrand
N
start N workers exercising rdrand (x86 only)
--rdrand-ops
N
stop after N rdrand bogo operations
--rdrand-seed
use rdseed instead of rdrand
--readahead
N
start N workers exercising file readahead
--readahead-bytes
N size of file to readahead on
(default is 1GB)
--readahead-ops
N stop after N
readahead bogo operations
--reboot
N
start N workers that exercise bad reboot calls
--reboot-ops
N
stop after N bogo reboot operations
--regs
N
start N workers exercising CPU generic registers
--regs-ops
N
stop after N x 1000 rounds of register shuffling
--remap
N
start N workers exercising page remappings
--remap-mlock
attempt to mlock pages into memory
--remap-ops
N
stop after N remapping bogo operations
--remap-pages
N specify
N pages to remap (N must be power of 2)
-R, --rename
N
start N workers exercising file renames
--rename-ops
N
stop after N rename bogo operations
--resched
N
start N workers that spawn renicing child processes
--resched-ops
N stop
after N nice bogo nice'd yield operations
--resources
N
start N workers consuming system resources
--resources-mlock
attempt to mlock pages into memory
--resources-ops
N stop after N
resource bogo operations
--revio
N
start N workers performing reverse I/O
--revio-bytes
N specify
file size (default is 1GB)
--revio-ops
N
stop after N revio bogo operations
--ring-pipe
N
start N workers exercising a ring of pipes
--ring-pipe-num
N number of pipes to
use
--ring-pipe-ops
N stop after N ring
pipe I/O bogo operations
--ring-pipe-size
N size of data to be written
and read in bytes
--ring-pipe-splice use
splice instead of read+write
--rmap
N
start N workers that stress reverse mappings
--rmap-ops
N
stop after N rmap bogo operations
--rmap
N
start N workers that stress reverse mappings
--rmap-ops
N
stop after N rmap bogo operations
--rotate
N
start N workers performing rotate ops
--rotate-method
M select rotate method
M
--rotate-ops
N
stop after N rotate bogo operations
--rseq
N
start N workers that exercise restartable sequences
--rseq-ops
N
stop after N bogo restartable sequence operations
--rtc
N
start N workers that exercise the RTC interfaces
--rtc-ops
N
stop after N RTC bogo operations
--schedmix
N
start N workers that exercise a mix of scheduling loads
--schedmix-ops
N stop after N
schedmix bogo operations
--schedmix-procs
N select number of schedmix
child processes 1..64
--schedpolicy
N start N
workers that exercise scheduling policy
--schedpolicy-ops
N stop after N scheduling policy
bogo operations
--schedpolicy-rand select
scheduling policy randomly
--sctp
N
start N workers performing SCTP send/receives
--sctp-domain
D specify
sctp domain, default is ipv4
--sctp-if
I
use network interface I, e.g. lo, eth0, etc.
--sctp-ops
N
stop after N SCTP bogo operations
--sctp-port
P
use SCTP ports P to P + number of workers - 1
--sctp-sched
S
specify sctp scheduler
--seal
N
start N workers performing fcntl SEAL commands
--seal-ops
N
stop after N SEAL bogo operations
--seccomp
N
start N workers performing seccomp call filtering
--seccomp-ops
N stop
after N seccomp bogo operations
--secretmem
N
start N workers that use secretmem mappings
--secretmem-ops
N stop after N
secretmem bogo operations
--seek
N
start N workers performing random seek r/w IO
--seek-ops
N
stop after N seek bogo operations
--seek-punch
punch random holes in file to stress extents
--seek-size
N
length of file to do random I/O upon
--sem
N
start N workers doing semaphore operations
--sem-ops
N
stop after N semaphore bogo operations
--sem-procs
N
number of processes to start per worker
--sem-sysv
N
start N workers doing System V semaphore operations
--sem-sysv-ops
N stop after N
System V sem bogo operations
--sem-sysv-procs
N number of processes to
start per worker
--sendfile
N
start N workers exercising sendfile
--sendfile-ops
N stop after N
bogo sendfile operations
--sendfile-size
N size of data to be
sent with sendfile
-f N, --session
N
start N workers that exercise new sessions
--session-ops
N stop
after N session bogo operations
--set
N
start N workers exercising the set*() system calls
--set-ops
N
stop after N set bogo operations
--shellsort
N
start N workers shell sorting 32 bit random integers
--shellsort-ops
N stop after N shell
sort bogo operations
--shellsort-size
N number of 32 bit integers
to sort
--shm
N
start N workers that exercise POSIX shared memory
--shm-bytes
N
allocate/free N bytes of POSIX shared memory
--shm-mlock
attempt to mlock pages into memory
--shm-objs
N
allocate N POSIX shared memory objects per iteration
--shm-ops
N
stop after N POSIX shared memory bogo operations
--shm-sysv
N
start N workers that exercise System V shared memory
--shm-sysv-bytes
N allocate and free N bytes
of shared memory per loop
--shm-sysv-mlock
attempt to mlock pages into memory
--shm-sysv-ops
N stop after N
shared memory bogo operations
--shm-sysv-segs
N allocate N shared
memory segments per iteration
--sigabrt
N
start N workers generating segmentation faults
--sigabrt-ops
N stop
after N bogo segmentation faults
--sigbus
N
start N workers generating bus faults
--sigbus-ops
N
stop after N bogo bus faults
--sigchld
N
start N workers that handle SIGCHLD
--sigchld-ops
N stop
after N bogo SIGCHLD signals
--sigfd
N
start N workers reading signals via signalfd reads
--sigfd-ops
N
stop after N bogo signalfd reads
--sigfpe
N
start N workers generating floating point math faults
--sigfpe-ops
N
stop after N bogo floating point math faults
--sigio
N
start N workers that exercise SIGIO signals
--sigio-ops
N
stop after N bogo sigio signals
--signal
N
start N workers that exercise signal
--signal-ops
N
stop after N bogo signals
--signest
N
start N workers generating nested signals
--signest-ops
N stop
after N bogo nested signals
--sigpending
N
start N workers exercising sigpending
--sigpending-ops
N stop after N sigpending
bogo operations
--sigpipe
N
start N workers exercising SIGPIPE
--sigpipe-ops
N stop
after N SIGPIPE bogo operations
--sigq
N
start N workers sending sigqueue signals
--sigq-ops
N
stop after N sigqueue bogo operations
--sigrt
N
start N workers sending real time signals
--sigrt-ops
N
stop after N real time signal bogo operations
--sigsegv
N
start N workers generating segmentation faults
--sigsegv-ops
N stop
after N bogo segmentation faults
--sigsuspend
N
start N workers exercising sigsuspend
--sigsuspend-ops
N stop after N bogo
sigsuspend wakes
--sigtrap
N
start N workers generating segmentation faults
--sigtrap-ops
N stop
after N bogo segmentation faults
--sigxcpu
N
start N workers that exercise SIGXCPU signals
--sigxcpu-ops
N stop
after N bogo SIGXCPU signals
--sigxfsz
N
start N workers that exercise SIGXFSZ signals
--sigxfsz-ops
N stop
after N bogo SIGXFSZ signals
--skiplist
N
start N workers that exercise a skiplist search
--skiplist-ops
N stop after N
skiplist search bogo operations
--skiplist-size
N number of 32 bit
integers to add to skiplist
--sleep
N
start N workers performing various duration sleeps
--sleep-max
P
create P threads at a time by each worker
--sleep-ops
N
stop after N bogo sleep operations
--smi
N
start N workers that trigger SMIs
--smi-ops
N
stop after N SMIs have been triggered
-S N, --sock
N
start N workers exercising socket I/O
--sock-domain
D specify
socket domain, default is ipv4
--sock-if
I
use network interface I, e.g. lo, eth0, etc.
--sock-msgs
N
number of messages to send per connection
--sock-nodelay
disable Nagle algorithm, send data immediately
--sock-ops
N
stop after N socket bogo operations
--sock-opts
option socket options
[send|sendmsg|sendmmsg]
--sock-port
P
use socket ports P to P + number of workers - 1
--sock-protocol
use socket protocol P, default is tcp, can be mptcp
--sock-type
T
socket type (stream, seqpacket)
--sock-zerocopy
enable zero copy sends
--sockabuse
N
start N workers abusing socket I/O
--sockabuse-ops
N stop after N socket
abusing bogo operations
--sockabuse-port
P use socket ports P to P +
number of workers - 1
--sockdiag
N
start N workers exercising sockdiag netlink
--sockdiag-ops
N stop sockdiag
workers after N bogo messages
--sockfd
N
start N workers sending file descriptors over sockets
--sockfd-ops
N
stop after N sockfd bogo operations
--sockfd-port
P use
socket fd ports P to P + number of workers - 1
--sockpair
N
start N workers exercising socket pair I/O activity
--sockpair-ops
N stop after N
socket pair bogo operations
--sockmany
N
start N workers exercising many socket connections
--sockmany-if
I use
network interface I, e.g. lo, eth0, etc.
--sockmany-ops
N stop after N
sockmany bogo operations
--sockmany-port
use socket ports P to P + number of workers - 1
--softlockup
N
start N workers that cause softlockups
--softlockup-ops
N stop after N softlockup
bogo operations
--spawn
N
start N workers spawning stress-ng using posix_spawn
--spawn-ops
N
stop after N spawn bogo operations
--sparsematrix
N start N
workers that exercise a sparse matrix
--sparsematrix-items
N N is the number of items in the spare matrix
--sparsematrix-method M
select storage method: all, hash, hashjudy, judy, list,
mmap, qhash, rb, splay
--sparsematrix-ops
N stop after N bogo sparse matrix
operations
--sparsematrix-size
N M is the width and height X x Y of the
matrix
--splice
N
start N workers reading/writing using splice
--splice-bytes
N number of
bytes to transfer per splice call
--splice-ops
N
stop after N bogo splice operations
--stack
N
start N workers generating stack overflows
--stack-fill
fill stack, touches all new pages
--stack-mlock
mlock stack, force pages to be unswappable
--stack-ops
N
stop after N bogo stack overflows
--stack-pageout
use madvise to try to swap out stack
--stack-unmap
unmap a page in the stack on each iteration
--stackmmap
N
start N workers exercising a filebacked stack
--stackmmap-ops
N stop after N bogo
stackmmap operations
--str
N
start N workers exercising lib C string functions
--str-method
func specify the
string function to stress
--str-ops
N
stop after N bogo string operations
--stream
N
start N workers exercising memory bandwidth
--stream-index
N specify number
of indices into the data (0..3)
--stream-l3-size
N specify the L3 cache size
of the CPU
--stream-madvise
M specify mmap'd stream
buffer madvise advice
--stream-mlock
attempt to mlock pages into memory
--stream-ops
N
stop after N bogo stream operations
--swap
N
start N workers exercising swapon/swapoff
--swap-ops
N
stop after N swapon/swapoff operations
-s N, --switch
N
start N workers doing rapid context switches
--switch-freq
N set
frequency of context switches
--switch-method
M mq | pipe | sem-sysv
--switch-ops
N
stop after N context switch bogo operations
--symlink
N
start N workers creating symbolic links
--symlink-ops
N stop
after N symbolic link bogo operations
--symlink-sync
enable sync'ing after symlinking/unsymlinking
--sync-file
N
start N workers exercise sync_file_range
--sync-file-bytes
N size of file to be sync'd
--sync-file-ops
N stop after N
sync_file_range bogo operations
--syncload
N
start N workers that synchronize load spikes
--syncload-msbusy
M maximum busy duration in
milliseconds
--syncload-mssleep
M maximum sleep duration in milliseconds
--syncload-ops
N stop after N
syncload bogo operations
--sysbadaddr
N
start N workers that pass bad addresses to syscalls
--sysbadaddr-ops
N stop after N sysbadaddr
bogo syscalls
--syscall
N
start N workers that exercise a wide range of system calls
--syscall-method
M select method of selecting
system calls to exercise
--syscall-ops
N stop
after N syscall bogo operations
--syscall-top
N display
fastest top N system calls
--sysinfo
N
start N workers reading system information
--sysinfo-ops
N stop
after sysinfo bogo operations
--sysinval
N
start N workers that pass invalid args to syscalls
--sysinval-ops
N stop after N
sysinval bogo syscalls
--sysfs
N
start N workers reading files from /sys
--sysfs-ops
N
stop after sysfs bogo operations
--tee
N
start N workers exercising the tee system call
--tee-ops
N
stop after N tee bogo operations
-T N, --timer
N
start N workers producing timer events
--timer-freq
F
run timer(s) at F Hz, range 1 to 1000000000
--timer-ops
N
stop after N timer bogo events
--timer-rand
enable random timer frequency
--timerfd
N
start N workers producing timerfd events
--timerfd-fds
N number
of timerfd file descriptors to open
--timerfd-freq
F run timer(s)
at F Hz, range 1 to 1000000000
--timerfd-ops
N stop
after N timerfd bogo events
--timerfd-rand
enable random timerfd frequency
--time-warp
N
start N workers checking for timer/clock warping
--time-warp-ops
N stop workers after N
bogo timer/clock reads
--tlb-shootdown
N start N workers that
force TLB shootdowns
--tlb-shootdown-ops
N stop after N TLB shootdown bogo ops
--tmpfs
N
start N workers mmap'ing a file on tmpfs
--tmpfs-mmap-async using
asynchronous msyncs for tmpfs file based mmap
--tmpfs-mmap-file mmap
onto a tmpfs file using synchronous msyncs
--tmpfs-ops
N
stop after N tmpfs bogo ops
--touch
N
start N stressors that touch and remove files
--touch-method
M specify method
to touch tile file, open | create
--touch-ops
N
stop after N touch bogo operations
--touch-opts
list touch open
options all, direct, dsync, excl, noatime, sync, trunc
--tree
N
start N workers that exercise tree structures
--tree-method
M select
tree method: all,avl,binary,btree,rb,splay
--tree-ops
N
stop after N bogo tree operations
--tree-size
N
N is the number of items in the tree
--trig
N
start N workers exercising trigonometric functions
--trig-ops
N
stop after N trig bogo trigonometric operations
--trig-method
M select
trigonometric function to exercise
--tsc
N
start N workers reading the time stamp counter
--tsc-ops
N
stop after N TSC bogo operations
--tsc-lfence
add lfence after TSC reads for serialization (x86 only)
--tsc-rdscp
use rdtscp instead of rdtsc, disables tsc-lfence (x86
only)
--tsearch
N
start N workers that exercise a tree search
--tsearch-ops
N stop
after N tree search bogo operations
--tsearch-size
N number of 32
bit integers to tsearch
--tun
N
start N workers exercising tun interface
--tun-ops
N
stop after N tun bogo operations
--tun-tap
use TAP interface instead of TUN
--udp
N
start N workers performing UDP send/receives
--udp-domain
D
specify domain, default is ipv4
--udp-gro
enable UDP-GRO
--udp-if
I
use network interface I, e.g. lo, eth0, etc.
--udp-lite
use the UDP-Lite (RFC 3828) protocol
--udp-ops
N
stop after N udp bogo operations
--udp-port
P
use ports P to P + number of workers - 1
--udp-flood
N
start N workers that performs a UDP flood attack
--udp-flood-domain
D specify domain, default is ipv4
--udp-flood-if
I use network
interface I, e.g. lo, eth0, etc.
--udp-flood-ops
N stop after N udp
flood bogo operations
--umount
N
start N workers exercising umount races
--umount-ops
N
stop after N bogo umount operations
--unshare
N
start N workers exercising resource unsharing
--unshare-ops
N stop
after N bogo unshare operations
--uprobe
N
start N workers that generate uprobe events
--uprobe-ops
N
stop after N uprobe events
-u N, --urandom
N
start N workers reading /dev/urandom
--urandom-ops
N stop
after N urandom bogo read operations
--userfaultfd
N start N
page faulting workers with userspace handling
--userfaultfd-ops
N stop after N page faults have
been handled
--usersyscall
N start N
workers exercising a userspace system call handler
--usersyscall-ops
N stop after N successful SIGSYS
system callls
--utime
N
start N workers updating file timestamps
--utime-fsync
force utime meta data sync to the file system
--utime-ops
N
stop after N utime bogo operations
--vdso
N
start N workers exercising functions in the VDSO
--vdso-func
F
use just vDSO function F
--vdso-ops
N
stop after N vDSO function calls
--vecfp
N
start N workers performing vector math ops
--vecfp-ops
N
stop after N vector math bogo operations
--vecmath
N
start N workers performing vector math ops
--vecmath-ops
N stop
after N vector math bogo operations
--vecshuf
N
start N workers performing vector shuffle ops
--vecshuf-method
M select vector shuffling
method
--vecshuf-ops
N stop
after N vector shuffle bogo operations
--vecwide
N
start N workers performing vector math ops
--vecwide-ops
N stop
after N vector math bogo operations
--verity
N
start N workers exercising file verity ioctls
--verity-ops
N
stop after N file verity bogo operations
--vfork
N
start N workers spinning on vfork() and exit()
--vfork-ops
N
stop after N vfork bogo operations
--vfork-max
P
create P processes per iteration, default is 1
--vforkmany
N
start N workers spawning many vfork children
--vforkmany-ops
N stop after spawning
N vfork children
--vforkmany-vm
enable extra virtual memory pressure
-m N, --vm
N
start N workers spinning on anonymous mmap
--vm-bytes
N
allocate N bytes per vm worker (default 256MB)
--vm-hang
N
sleep N seconds before freeing memory
--vm-keep
redirty memory instead of reallocating
--vm-locked
lock the pages of the mapped region into memory
--vm-madvise
M
specify mmap'd vm buffer madvise advice
--vm-method
M
specify stress vm method M, default is all
--vm-ops
N
stop after N vm bogo operations
--vm-populate
populate (prefault) page tables for a mapping
--vm-addr
N
start N vm address exercising workers
--vm-addr-mlock
attempt to mlock pages into memory
--vm-addr-ops
N stop
after N vm address bogo operations
--vm-rw
N
start N vm read/write process_vm* copy workers
--vm-rw-bytes
N transfer
N bytes of memory per bogo operation
--vm-rw-ops
N
stop after N vm process_vm* copy bogo operations
--vm-segv
N
start N workers that unmap their address space
--vm-segv-ops
N stop
after N vm-segv unmap'd SEGV faults
--vm-splice
N
start N workers reading/writing using vmsplice
--vm-splice-bytes
N number of bytes to transfer per
vmsplice call
--vm-splice-ops
N stop after N bogo
splice operations
--vma
N
start N workers that exercise kernel VMA structures
--vma-ops
N
stop N workers after N mmap VMA operations
--vnni
N
start N workers performing vector neural network ops
--vnni-ops
N
stop after N vnni bogo operations
--vnni-intrinsic
use x86 intrinsic vnni methods, disable generic methods
--wait
N
start N workers waiting on child being stop/resumed
--wait-ops
N
stop after N bogo wait operations
--waitcpu
N
start N workers exercising wait/pause/nop instructions
--waitcpu-ops
N stop
after N wait/pause/nop bogo operations
--watchdog
N
start N workers that exercise /dev/watchdog
--watchdog-ops
N stop after N
bogo watchdog operations
--wcs
N
start N workers on lib C wide char string functions
--wcs-method
func specify the wide
character string function to stress
--wcs-ops
N
stop after N bogo wide character string operations
--workload
N
start N workers that exercise a mix of scheduling loads
--workload-dist
type workload distribution type
[random1, random2, random3, cluster]
--workload-load
P percentage load P
per workload time slice
--workload-ops
N stop after N
workload bogo operations
--workload-quanta-us
N max duration of each quanta work item in
microseconds
--workload-sched
P select scheduler policy
[idle, fifo, rr, other, batch, deadline]
--workload-slice-us
N duration of workload time load in
microseconds
--workload-threads
N number of workload threads workers to
use, default is 0 (disabled)
--workload-method
M select a workload method,
default is all
--x86cpuid
N
start N workers exercising the x86 cpuid instruction
--x86cpuid-ops
N stop after N
cpuid bogo operations
--x86syscall
N
start N workers exercising functions using syscall
--x86syscall-func
F use just syscall function F
--x86syscall-ops
N stop after N syscall
function calls
--xattr
N
start N workers stressing file extended attributes
--xattr-ops
N
stop after N bogo xattr operations
-y N, --yield
N
start N workers doing sched_yield() calls
--yield-ops
N
stop after N bogo yield operations
--zero
N
start N workers exercising /dev/zero with read, mmap,
ioctl, lseek
--zero-read
just exercise /dev/zero with reading
--zero-ops
N
stop after N /dev/zero bogo read operations
--zlib
N
start N workers compressing data with zlib
--zlib-level
L
specify zlib compression level 0=fast, 9=best
--zlib-mem-level
L specify zlib compression
state memory usage 1=minimum, 9=maximum
--zlib-method
M specify
zlib random data generation method M
--zlib-ops
N
stop after N zlib bogo compression operations
--zlib-strategy
S specify zlib
strategy 0=default, 1=filtered, 2=huffman only, 3=rle,
4=fixed
--zlib-stream-bytes
S specify the number of bytes to deflate until
the current stream will be closed
--zlib-window-bits
W specify zlib window bits -8-(-15) |
8-15 | 24-31 | 40-47
--zombie
N
start N workers that rapidly create and reap zombies
--zombie-max
N
set upper limit of N zombies per worker
--zombie-ops
N
stop after N bogo zombie fork operations
Example: stress-ng --cpu 8 --iomix 4 --vm 2 --vm-bytes
128M --fork 4 --timeout 10s
Note: sizes can be suffixed with B, K, M, G and times with
s, m, h, d, y
[xtrnaw7@t15g /var/tmp/jwm/src]$
Online manual from stress-ng:
https://wiki.ubuntu.com/Kernel/Reference/stress-ng
"This package's purpose is to provide a set of utilities for
interfacing with sysfs, a virtual filesystem in Linux kernel
versions 2.5+ that provides a tree of system devices. While a
filesystem is a very useful interface, we've decided to
provide a stable programming interface that will hopefully
make it easier for applications to query system devices and
their attributes.
This package currently includes:
- libsysfs: a library for accessing system devices.
- systool: an application to view system device information by
bus, class, and topology.
- A number of example usage routines in the "test" directory.
- A comprehensive testsuite, also shipped as part of the
"test" directory. This testsuite can be used to test _all_ the
APIs exported by Libsysfs.
Please refer the libsysfs.txt file in the
"docs" directory for details as to how to use the testsuite."
systool usage
[xtrnaw7@t540p /var/tmp/jwm]$ bin/systool --help
bin/systool: invalid option -- '-'
Usage: systool [<options> [device]]
-a
Show attributes
-b <bus_name>
Show a specific bus
-c <class_name>
Show a specific class
-d
Show only devices
-h
Show usage
-m
<module_name> Show a specific
module
-p
Show path to device/driver
-v
Show all attributes with values
-A
<attribute_name> Show attribute
value
-D
Show only drivers
-P
Show device's parent
[xtrnaw7@t540p /var/tmp/jwm]$
systool example
xtrnaw7@t540p /var/tmp/jwm]$ bin/systool -c pci_bus
Class = "pci_bus"
Class Device = "00"
Device = "pci0000:00"
Class Device = "01"
Device = "0000:00:01.0"
Class Device = "03"
Device = "0000:00:1c.0"
Class Device = "04"
Device = "0000:00:1c.1"
Class Device = "05"
Device = "0000:00:1c.2"
[xtrnaw7@t540p /var/tmp/jwm]$ bin/systool -c pci_bus -a
Class = "pci_bus"
Class Device = "00"
cpuaffinity
cpulistaffinity
rescan
uevent
Device = "pci0000:00"
uevent
Class Device = "01"
cpuaffinity
cpulistaffinity
rescan
uevent
Device = "0000:00:01.0"
broken_parity_status
class
config
consistent_dma_mask_bits
d3cold_allowed
device
dma_mask_bits
driver_override
enable
irq
local_cpulist
local_cpus
modalias
msi_bus
numa_node
remove
rescan
resource
subsystem_device
subsystem_vendor
uevent
vendor
Class Device = "03"
cpuaffinity
cpulistaffinity
rescan
uevent
Device = "0000:00:1c.0"
broken_parity_status
class
config
consistent_dma_mask_bits
d3cold_allowed
device
dma_mask_bits
driver_override
enable
irq
local_cpulist
local_cpus
modalias
msi_bus
numa_node
remove
rescan
reset
resource
subsystem_device
subsystem_vendor
uevent
vendor
Class Device = "04"
cpuaffinity
cpulistaffinity
rescan
uevent
Device = "0000:00:1c.1"
broken_parity_status
class
config
consistent_dma_mask_bits
d3cold_allowed
device
dma_mask_bits
driver_override
enable
irq
local_cpulist
local_cpus
modalias
msi_bus
numa_node
remove
rescan
reset
resource
subsystem_device
subsystem_vendor
uevent
vendor
Class Device = "05"
cpuaffinity
cpulistaffinity
rescan
uevent
Devi[xtrnaw7@t540p /var/tmp/jwm]$
bin/systool -c pci_bus
Class = "pci_bus"
Class Device = "00"
Device = "pci0000:00"
Class Device = "01"
Device = "0000:00:01.0"
Class Device = "03"
Device = "0000:00:1c.0"
Class Device = "04"
Device = "0000:00:1c.1"
Class Device = "05"
Device = "0000:00:1c.2"
[xtrnaw7@t540p /var/tmp/jwm]$ bin/systool -c pci_bus -a
Class = "pci_bus"
Class Device = "00"
cpuaffinity
cpulistaffinity
rescan
uevent
Device = "pci0000:00"
uevent
Class Device = "01"
cpuaffinity
cpulistaffinity
rescan
uevent
Device = "0000:00:01.0"
broken_parity_status
class
config
consistent_dma_mask_bits
d3cold_allowed
device
dma_mask_bits
driver_override
enable
irq
local_cpulist
local_cpus
modalias
msi_bus
numa_node
remove
rescan
resource
subsystem_device
subsystem_vendor
uevent
vendor
Class Device = "03"
cpuaffinity
cpulistaffinity
rescan
uevent
Device = "0000:00:1c.0"
broken_parity_status
class
config
consistent_dma_mask_bits
d3cold_allowed
device
dma_mask_bits
driver_override
enable
irq
local_cpulist
local_cpus
modalias
msi_bus
numa_node
remove
rescan
reset
resource
subsystem_device
subsystem_vendor
uevent
vendor
Class Device = "04"
cpuaffinity
cpulistaffinity
rescan
uevent
Device = "0000:00:1c.1"
broken_parity_status
class
config
consistent_dma_mask_bits
d3cold_allowed
device
dma_mask_bits
driver_override
enable
irq
local_cpulist
local_cpus
modalias
msi_bus
numa_node
remove
rescan
reset
resource
subsystem_device
subsystem_vendor
uevent
vendor
Class Device = "05"
cpuaffinity
cpulistaffinity
rescan
uevent
Device = "0000:00:1c.2"
broken_parity_status
class
config
consistent_dma_mask_bits
d3cold_allowed
device
dma_mask_bits
driver_override
enable
irq
local_cpulist
local_cpus
modalias
msi_bus
numa_node
remove
rescan
reset
resource
subsystem_device
subsystem_vendor
uevent
vendor
[xtrnaw7@t540p /var/tmp/jwm]$
ce = "0000:00:1c.2"
broken_parity_status
class
config
consistent_dma_mask_bits
d3cold_allowed
device
dma_mask_bits
driver_override
enable
irq
local_cpulist
local_cpus
modalias
msi_bus
numa_node
remove
rescan
reset
resource
subsystem_device
subsystem_vendor
uevent
vendor
[xtrnaw7@t540p /var/tmp/jwm]$
The sysstat tools
cifsiostat,
iostat,
nfsiostat,
and
pidstat can be used to monitor some aspects of the
system.
See the man pages for the tools
for more detailed infos.
"tcpick is a textmode sniffer libpcap-based that can
track, reassemble and reorder tcp streams. Tcpick is able to
save the captured flows in different files or displays them
in the terminal, and so it is useful to sniff files that are
transmitted via ftp or http. It can display all the stream
on the terminal, when the connection is closed in different
display modes like hexdump, hexdump + ascii, only printable
charachters, raw mode and so on. Available a color mode too,
helpful to read and understand better the output of the
program. Actually it can handle several interfaces,
including ethernet cards and ppp. It is useful to keep track
of what users of a network are doing, and is usable with
textmode tools like grep, sed, awk."
tcpick usage
[xtrnaw7@t540p /var/tmp/jwm]$ sudo bin/tcpick --help
tcpick 0.2.1 is a sniffer tool written
using libpcap.
tcpick can keep track of tcp connection, sniff all tcp
streams
and store them to files, to show you what is happening on
a network interface
Usage: tcpick [ -a ] [ -n ] [ -C ]
[ -i interface
]
[ -yH ] [ -yP ] [ -yR
] [ -yU ] [ -yx ] [ -yX ]
[ -bH ] [ -bP ] [ -bR
] [ -bU ] [ -bx ] [ -bX ]
[ -wH ] [ -wP ] [ -wR
] [ -wU ]
[ -v [
verbosity ]]
[ -S ] [ -h ] [
--separator ]
[ "filter" ] [
-r file ]
[ --help ] [
--version
]
Example: tcpick -i ppp0 -yP -C -h "not port 22"
for an updated list of options see tcpick(1) manpage
to see version and license informations try `tcpick
--version'
or read the `COPYING' file, released with the package
tcpick homepage: http://tcpick.sourceforge.net
mailing-list address:
<tcpick-project@lists.sourceforge.net>
Archive:
http://sourceforge.net/mailarchive/forum.php?forum=tcpick-project
Subscribe:
http://lists.sourceforge.net/lists/listinfo/tcpick-project
thank you for using tcpick!
[xtrnaw7@t540p /var/tmp/jwm]$
tcpick examples
sudo bin/tcpick -i enp0s25 -yP -C -e 3 -h
"not port 22"
t50 - Experimental Mixed Packet Injector designed
to perform network "Stress Testing". Usage:
t50 usage
[xtrnaw7@t540p /var/tmp/jwm/src/t50-5.8.0]$ bin/t50 -h
T50 Experimental Mixed Packet Injector Tool v5.8
Originally created by Nelson Brito
<nbrito@sekure.org>
Previously maintained by Fernando Mercęs
<fernando@mentebinaria.com.br>
Maintained by Frederico Lamberti Pissarra
<fredericopissarra@gmail.com>
Usage: t50 <host[/cidr]> [options]
Common Options:
--threshold
NUM
Threshold of packets to send
(default 1000)
--flood
This option supersedes the 'threshold'
--encapsulated
Encapsulated protocol (GRE)
(default OFF)
-B,--bogus-csum
Bogus
checksum
(default OFF)
--shuffle
Shuffling for T50
protocol (default OFF)
-q,--quiet
Disable INFOs
--turbo
Extend the
performance
(default OFF)
-l,--list-protocols
List all available protocols
-v,--version
Print version and exit
-h,--help
Display this help and exit
GRE Options:
--gre-seq-present
GRE sequence #
present
(default OFF)
--gre-key-present
GRE key
present
(default OFF)
--gre-sum-present
GRE checksum
present
(default OFF)
--gre-key
NUM
GRE
key
(default RANDOM)
--gre-sequence
NUM GRE sequence
#
(default RANDOM)
--gre-saddr
ADDR
GRE IP source IP
address
(default RANDOM)
--gre-daddr
ADDR
GRE IP destination IP address (default
RANDOM)
DCCP/TCP/UDP Options:
--sport
NUM
DCCP|TCP|UDP source
port
(default RANDOM)
--dport
NUM
DCCP|TCP|UDP destination port (default
RANDOM)
TCP Options:
--ack-seq
NUM
TCP ACK sequence
#
(default RANDOM)
--sequence
NUM
TCP SYN sequence
#
(default RANDOM)
--data-offset
NUM TCP
data
offset
(default 5)
-F,--fin
TCP FIN
flag
(default OFF)
-S,--syn
TCP SYN
flag
(default OFF)
-R,--rst
TCP RST
flag
(default OFF)
-P,--psh
TCP PSH
flag
(default OFF)
-A,--ack
TCP ACK
flag
(default OFF)
-U,--urg
TCP URG
flag
(default OFF)
-E,--ece
TCP ECE
flag
(default OFF)
-C,--cwr
TCP CWR
flag
(default OFF)
-W,--window
NUM
TCP Window
size
(default NONE)
--urg-pointer
NUM TCP
URG
pointer
(default NONE)
--mss
NUM
TCP Maximum Segment
Size
(default NONE)
--wscale
NUM
TCP Window
Scale
(default NONE)
--tstamp
NUM:NUM
TCP Timestamp (TSval:TSecr)
(default NONE)
--sack-ok
TCP
SACK-Permitted
(default OFF)
--ttcp-cc
NUM
T/TCP Connection Count (CC)
(default NONE)
--ccnew
NUM
T/TCP Connection Count (CC.NEW) (default NONE)
--ccecho
NUM
T/TCP Connection Count (CC.ECHO) (default NONE)
--sack
NUM:NUM
TCP SACK Edges (Left:Right)
(default NONE)
--md5-signature
TCP MD5 signature
included (default OFF)
--authentication
TCP-AO authentication included (default OFF)
--auth-key-id
NUM TCP-AO
authentication key ID (default 1)
--auth-next-key
NUM TCP-AO
authentication next key (default 1)
--nop
TCP
No-Operation
(default EOL)
IP Options:
-s,--saddr
ADDR
IP source IP
address
(default RANDOM)
--tos
NUM
IP type of
service
(default 0x40)
--id
NUM
IP
identification
(default RANDOM)
--frag-offset
NUM IP
fragmentation
offset
(default 0)
--ttl
NUM
IP time to
live
(default 255)
--protocol
PROTO
IP
protocol
(default TCP)
ICMP Options:
--icmp-type
NUM
ICMP
type
(default 8)
--icmp-code
NUM
ICMP
code
(default 0)
--icmp-gateway
ADDR ICMP redirect
gateway
(default RANDOM)
--icmp-id
NUM
ICMP
identification
(default RANDOM)
--icmp-sequence
NUM ICMP sequence
#
(default RANDOM)
EGP Options:
--egp-type
NUM
EGP
type
(default 3)
--egp-code
NUM
EGP
code
(default 3)
--egp-status
NUM
EGP
status
(default 1)
--egp-as
NUM
EGP autonomous
system
(default RANDOM)
--egp-sequence
NUM EGP sequence
#
(default RANDOM)
--egp-hello
NUM
EGP hello
interval
(default RANDOM)
--egp-poll
NUM
EGP poll
interval
(default RANDOM)
RIP Options:
--rip-command
NUM
RIPv1/v2
command
(default 2)
--rip-family
NUM
RIPv1/v2 address
family
(default 2)
--rip-address
ADDR RIPv1/v2
router
address
(default RANDOM)
--rip-metric
NUM
RIPv1/v2 router
metric
(default RANDOM)
--rip-domain
NUM
RIPv2 router
domain
(default RANDOM)
--rip-tag
NUM
RIPv2 router
tag
(default RANDOM)
--rip-netmask
ADDR RIPv2
router subnet
mask
(default RANDOM)
--rip-next-hop
ADDR RIPv2 router next
hop
(default RANDOM)
--rip-authentication RIPv2
authentication included (default OFF)
--rip-auth-key-id
NUM RIPv2 authentication key
ID (default 1)
--rip-auth-sequence NUM
RIPv2 authentication sequence # (default RANDOM)
DCCP Options:
--dccp-data-offset
NUM DCCP data
offset
(default VARY)
--dccp-cscov
NUM
DCCP checksum
coverage
(default 0)
--dccp-ccval
NUM
DCCP HC-Sender
CCID
(default RANDOM)
--dccp-type
NUM
DCCP
type
(default 0)
--dccp-extended
DCCP extend for sequence
# (default OFF)
--dccp-sequence-1
NUM DCCP sequence
#
(default RANDOM)
--dccp-sequence-2
NUM DCCP extended sequence
# (default
RANDOM)
--dccp-sequence-3
NUM DCCP sequence #
low
(default RANDOM)
--dccp-service
NUM DCCP service
code
(default RANDOM)
--dccp-acknowledge-1 NUM DCCP
acknowledgment # high
(default RANDOM)
--dccp-acknowledge-2 NUM DCCP
acknowledgment #
low (default
RANDOM)
--dccp-reset-code
NUM DCCP reset
code
(default RANDOM)
RSVP Options:
--rsvp-flags
NUM
RSVP
flags
(default 1)
--rsvp-type
NUM
RSVP message
type
(default 1)
--rsvp-ttl
NUM
RSVP time to
live
(default 254)
--rsvp-session-addr ADDR RSVP
SESSION destination address (default RANDOM)
--rsvp-session-proto NUM RSVP
SESSION protocol
ID
(default 1)
--rsvp-session-flags NUM RSVP
SESSION
flags
(default 1)
--rsvp-session-port NUM
RSVP SESSION destination port (default
RANDOM)
--rsvp-hop-addr
ADDR RSVP HOP neighbor
address (default
RANDOM)
--rsvp-hop-iface
NUM RSVP HOP logical
interface (default
RANDOM)
--rsvp-time-refresh NUM
RSVP TIME refresh
interval (default 360)
--rsvp-error-addr
ADDR RSVP ERROR node
address
(default RANDOM)
--rsvp-error-flags
NUM RSVP ERROR
flags
(default 2)
--rsvp-error-code
NUM RSVP ERROR
code
(default 2)
--rsvp-error-value
NUM RSVP ERROR
value
(default 8)
--rsvp-scope
NUM
RSVP SCOPE # of address(es)
(default 1)
--rsvp-address ADDR,...
RSVP SCOPE
address(es)
(default RANDOM)
--rsvp-style-option NUM
RSVP STYLE option
vector
(default 18)
--rsvp-sender-addr ADDR
RSVP SENDER TEMPLATE address
(default RANDOM)
--rsvp-sender-port
NUM RSVP SENDER TEMPLATE
port (default
RANDOM)
--rsvp-tspec-traffic RSVP
TSPEC service traffic
(default OFF)
--rsvp-tspec-guaranteed
RSVP TSPEC service guaranteed (default
OFF)
--rsvp-tspec-r
NUM RSVP TSPEC
token bucket rate (default RANDOM)
--rsvp-tspec-b
NUM RSVP TSPEC
token bucket size (default RANDOM)
--rsvp-tspec-p
NUM RSVP TSPEC
peak data rate
(default RANDOM)
--rsvp-tspec-m
NUM RSVP TSPEC
minimum policed unit (default RANDOM)
--rsvp-tspec-M
NUM RSVP TSPEC
maximum packet size (default RANDOM)
--rsvp-adspec-ishop NUM
RSVP ADSPEC IS HOP
count
(default RANDOM)
--rsvp-adspec-path
NUM RSVP ADSPEC path b/w
estimate (default RANDOM)
--rsvp-adspec-m
NUM RSVP ADSPEC
minimum path latency (default RANDOM)
--rsvp-adspec-mtu
NUM RSVP ADSPEC composed
MTU
(default RANDOM)
--rsvp-adspec-guaranteed RSVP
ADSPEC service guaranteed (default OFF)
--rsvp-adspec-Ctot
NUM RSVP ADSPEC ETE composed value C
(default RANDOM)
--rsvp-adspec-Dtot
NUM RSVP ADSPEC ETE composed value D
(default RANDOM)
--rsvp-adspec-Csum
NUM RSVP ADSPEC SLR point composed C
(default RANDOM)
--rsvp-adspec-Dsum
NUM RSVP ADSPEC SLR point composed D
(default RANDOM)
--rsvp-adspec-controlled RSVP
ADSPEC service controlled (default OFF)
--rsvp-confirm-addr ADDR RSVP
CONFIRM receiver address (default
RANDOM)
IPSEC Options:
--ipsec-ah-length
NUM IPSec AH header
length
(default NONE)
--ipsec-ah-spi
NUM IPSec AH
SPI
(default RANDOM)
--ipsec-ah-sequence NUM
IPSec AH sequence
#
(default RANDOM)
--ipsec-esp-spi
NUM IPSec ESP
SPI
(default RANDOM)
--ipsec-esp-sequence NUM IPSec
ESP sequence
#
(default RANDOM)
EIGRP Options:
--eigrp-opcode
NUM EIGRP
opcode
(default 1)
--eigrp-flags
NUM EIGRP
flags
(default RANDOM)
--eigrp-sequence
NUM EIGRP sequence
#
(default RANDOM)
--eigrp-acknowledge NUM
EIGRP acknowledgment
#
(default RANDOM)
--eigrp-as
NUM
EIGRP autonomous
system
(default RANDOM)
--eigrp-type
NUM
EIGRP
type
(default 258)
--eigrp-length
NUM EIGRP
length
(default NONE)
--eigrp-k1
NUM
EIGRP parameter K1
value
(default 1)
--eigrp-k2
NUM
EIGRP parameter K2
value
(default 0)
--eigrp-k3
NUM
EIGRP parameter K3
value
(default 1)
--eigrp-k4
NUM
EIGRP parameter K4
value
(default 0)
--eigrp-k5
NUM
EIGRP parameter K5
value
(default 0)
--eigrp-hold
NUM
EIGRP parameter hold
time (default
360)
--eigrp-ios-ver NUM.NUM
EIGRP IOS release
version (default
12.4)
--eigrp-rel-ver NUM.NUM
EIGRP PROTO release version
(default 1.2)
--eigrp-next-hop
ADDR EIGRP [in|ex]ternal
next-hop (default RANDOM)
--eigrp-delay
NUM EIGRP
[in|ex]ternal
delay (default
RANDOM)
--eigrp-bandwidth
NUM EIGRP [in|ex]ternal
bandwidth (default RANDOM)
--eigrp-mtu
NUM
EIGRP [in|ex]ternal
MTU
(default 1500)
--eigrp-hop-count
NUM EIGRP [in|ex]ternal hop
count (default RANDOM)
--eigrp-load
NUM
EIGRP [in|ex]ternal
load
(default RANDOM)
--eigrp-reliability NUM
EIGRP [in|ex]ternal reliability (default RANDOM)
--eigrp-daddr ADDR/CIDR
EIGRP [in|ex]ternal address(es) (default RANDOM)
--eigrp-src-router ADDR
EIGRP external source router
(default RANDOM)
--eigrp-src-as
NUM EIGRP
external autonomous system (default RANDOM)
--eigrp-tag
NUM
EIGRP external arbitrary tag
(default RANDOM)
--eigrp-proto-metric NUM EIGRP
external protocol metric (default RANDOM)
--eigrp-proto-id
NUM EIGRP external protocol
ID (default 2)
--eigrp-ext-flags
NUM EIGRP external
flags
(default RANDOM)
--eigrp-address
ADDR EIGRP multicast
sequence address (default RANDOM)
--eigrp-multicast
NUM EIGRP multicast sequence
# (default RANDOM)
--eigrp-authentication EIGRP
authentication included (default OFF)
--eigrp-auth-key-id NUM
EIGRP authentication key ID
(default 1)
OSPF Options:
--ospf-type
NUM
OSPF
type
(default 1)
--ospf-length
NUM OSPF
length
(default NONE)
--ospf-router-id
ADDR OSPF router
ID
(default RANDOM)
--ospf-area-id
ADDR OSPF area
ID
(default 0.0.0.0)
-1,--ospf-option-MT
OSPF multi-topology / TOS-based (default RANDOM)
-2,--ospf-option-E
OSPF external routing capability (default RANDOM)
-3,--ospf-option-MC
OSPF multicast
capable
(default RANDOM)
-4,--ospf-option-NP
OSPF NSSA
supported
(default RANDOM)
-5,--ospf-option-L
OSPF LLS data block contained (default
RANDOM)
-6,--ospf-option-DC
OSPF demand circuits supported (default
RANDOM)
-7,--ospf-option-O
OSPF
Opaque-LSA
(default RANDOM)
-8,--ospf-option-DN
OSPF DOWN
bit
(default RANDOM)
--ospf-netmask
ADDR OSPF router
subnet
mask
(default RANDOM)
--ospf-hello-interval NUM OSPF HELLO
interval
(default RANDOM)
--ospf-hello-priority NUM OSPF HELLO
router priority
(default 1)
--ospf-hello-dead
NUM OSPF HELLO router dead
interval (default 360)
--ospf-hello-design ADDR OSPF
HELLO designated router (default
RANDOM)
--ospf-hello-backup ADDR OSPF
HELLO backup designated (default
RANDOM)
--ospf-neighbor
NUM OSPF HELLO # of
neighbor(s) (default NONE)
--ospf-address ADDR,...
OSPF HELLO neighbor address(es) (default RANDOM)
--ospf-dd-mtu
NUM OSPF
DD
MTU
(default 1500)
--ospf-dd-dbdesc-MS
OSPF DD master/slave bit option (default RANDOM)
--ospf-dd-dbdesc-M
OSPF DD more bit
option
(default RANDOM)
--ospf-dd-dbdesc-I
OSPF DD init bit
option
(default RANDOM)
--ospf-dd-dbdesc-R
OSPF DD out-of-band
resync (default
RANDOM)
--ospf-dd-sequence
NUM OSPF DD sequence
#
(default RANDOM)
--ospf-dd-include-lsa OSPF DD
include LSA header
(default OFF)
--ospf-lsa-age
NUM OSPF LSA
age
(default 360)
--ospf-lsa-do-not-age OSPF LSA do
not
age
(default OFF)
--ospf-lsa-type
NUM OSPF LSA
type
(default 1)
--ospf-lsa-id
ADDR OSPF LSA ID
address
(default RANDOM)
--ospf-lsa-router
ADDR OSPF LSA advertising
router (default RANDOM)
--ospf-lsa-sequence NUM
OSPF LSA sequence
#
(default RANDOM)
--ospf-lsa-metric
NUM OSPF LSA
metric
(default RANDOM)
--ospf-lsa-flag-B
OSPF Router-LSA border router (default
RANDOM)
--ospf-lsa-flag-E
OSPF Router-LSA external router (default RANDOM)
--ospf-lsa-flag-V
OSPF Router-LSA virtual router (default
RANDOM)
--ospf-lsa-flag-W
OSPF Router-LSA wild router
(default RANDOM)
--ospf-lsa-flag-NT
OSPF Router-LSA NSSA translation (default RANDOM)
--ospf-lsa-link-id ADDR
OSPF Router-LSA link
ID
(default RANDOM)
--ospf-lsa-link-data ADDR OSPF
Router-LSA link
data (default
RANDOM)
--ospf-lsa-link-type NUM OSPF
Router-LSA link
type (default 1)
--ospf-lsa-attached ADDR OSPF
Network-LSA attached router (default RANDOM)
--ospf-lsa-larger
OSPF ASBR/NSSA-LSA ext. larger (default OFF)
--ospf-lsa-forward ADDR
OSPF ASBR/NSSA-LSA
forward (default
RANDOM)
--ospf-lsa-external ADDR OSPF
ASBR/NSSA-LSA external
(default RANDOM)
--ospf-vertex-router OSPF
Group-LSA type router
(default RANDOM)
--ospf-vertex-network OSPF
Group-LSA type network
(default RANDOM)
--ospf-vertex-id
ADDR OSPF Group-LSA vertex
ID
(default RANDOM)
--ospf-lls-extended-LR OSPF LLS Extended
option LR (default OFF)
--ospf-lls-extended-RS OSPF LLS Extended
option RS (default OFF)
--ospf-authentication OSPF
authentication included (default
OFF)
--ospf-auth-key-id
NUM OSPF authentication key
ID (default 1)
--ospf-auth-sequence NUM OSPF
authentication sequence # (default RANDOM)
Some considerations while running this program:
1. There is no limitation of using as many options
as possible.
2. Report t50 bugs at
https://gitlab.com/fredericopissarra/t50.git.
3. Some header fields with default values MUST be
set to '0' for RANDOM.
4. Mandatory arguments to long options are mandatory
for short options too.
5. Be nice when using t50, the author DENIES its use
for DoS/DDoS purposes.
6. Running t50 with '--protocol T50' option sends
ALL protocols sequentially.
[xtrnaw7@t540p /var/tmp/jwm/src/t50-5.8.0]$
"
tcpdump, a powerful command-line packet
analyzer; and
libpcap, a portable C/C++ library for
network traffic capture."
tcpdump usage
[xtrnaw7@t15g /var/tmp/jwm/src]$ ../bin/tcpdump -h
tcpdump version 4.99.4
libpcap version 1.10.4 (with TPACKET_V3)
OpenSSL 3.1.1 30 May 2023
Usage: tcpdump [-AbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [
-c count ] [--count]
[ -C file_size ] [
-E algo:secret ] [ -F file ] [ -G seconds ]
[ -i interface ] [
--immediate-mode ] [ -j tstamptype ]
[ -M secret ] [
--number ] [ --print ] [ -Q in|out|inout ]
[ -r file ] [ -s
snaplen ] [ -T type ] [ --version ]
[ -V file ] [ -w
file ] [ -W filecount ] [ -y datalinktype ]
[
--time-stamp-precision precision ] [ --micro ] [ --nano ]
[ -z
postrotate-command ] [ -Z user ] [ expression ]
[xtrnaw7@t15g /var/tmp/jwm/src]$
tcptrack - Monitor TCP connections on the
network
tcptrack usage
[xtrnaw7@t540p /var/tmp/jwm/bin]$ ./tcptrack -h
Usage: ./tcptrack [-dfhvp] [-r ] -i
[]
[-T
testssl.sh is a free command line tool
which checks a server's service on any port for the support
of TLS/SSL ciphers, protocols as well as recent
cryptographic flaws and more.
testssl.sh usage
[xtrnaw7@t540p /var/tmp/jwm/testssl]$ ./testssl.sh --help
"testssl.sh [options]
<URI>" or
"testssl.sh <options>"
"testssl.sh <options>", where <options> is:
--help
what you're looking at
-b,
--banner
displays banner + version of testssl.sh
-v,
--version
same as previous
-V,
--local
pretty print all local ciphers
-V, --local
<pattern>
which local ciphers with <pattern> are available? If
pattern is not a number: word match
<pattern>
is always an ignore case word pattern of cipher hexcode or
any other string in the name, kx or bits
"testssl.sh <URI>", where <URI> is:
<URI>
host|host:port|URL|URL:port port 443 is
default, URL can only contain HTTPS protocol)
"testssl.sh [options] <URI>", where [options] is:
-t, --starttls
<protocol> Does a default
run against a STARTTLS enabled <protocol,
protocol is
<ftp|smtp|lmtp|pop3|imap|xmpp|telnet|ldap|nntp|postgres|mysql>
--xmpphost
<to_domain>
For STARTTLS enabled XMPP it supplies the XML stream to-''
domain -- sometimes needed
--mx
<domain/host>
Tests MX records from high to low priority (STARTTLS, port
25)
--file/-iL
<fname>
Mass testing option: Reads one testssl.sh command line per
line from <fname>.
Can be combined with --serial or --parallel. Implicitly
turns on "--warnings batch".
Text format 1: Comments via # allowed, EOF signals end of
<fname>
Text format 2: nmap output in greppable format (-oG), 1
port per line allowed
--mode
<serial|parallel> Mass
testing to be done serial (default) or parallel
(--parallel is shortcut for the latter)
--warnings
<batch|off>
"batch" doesn't continue when a testing error is
encountered, off continues and skips warnings
--connect-timeout
<seconds> useful to avoid hangers. Max
<seconds> to wait for the TCP socket connect to
return
--openssl-timeout
<seconds> useful to avoid hangers. Max
<seconds> to wait before openssl connect will be
terminated
single check as <options> ("testssl.sh URI"
does everything except -E and -g):
-e,
--each-cipher
checks each local cipher remotely
-E,
--cipher-per-proto
checks those per protocol
-s, --std,
--standard
tests standard cipher categories by strength
-p,
--protocols
checks TLS/SSL protocols (including SPDY/HTTP2)
-g,
--grease
tests several server implementation bugs like GREASE and
size limitations
-S,
--server-defaults
displays the server's default picks and certificate info
-P,
--server-preference
displays the server's picks: protocol+cipher
-x, --single-cipher
<pattern> tests matched <pattern> of ciphers
(if <pattern> not a number: word match)
-c,
--client-simulation
test client simulations, see which client negotiates with
cipher and protocol
-h, --header,
--headers tests HSTS,
HPKP, server/app banner, security headers, cookie, reverse
proxy, IPv4 address
-U,
--vulnerable
tests all (of the following) vulnerabilities (if
applicable)
-H,
--heartbleed
tests for Heartbleed vulnerability
-I, --ccs,
--ccs-injection tests for CCS injection
vulnerability
-T,
--ticketbleed
tests for Ticketbleed vulnerability in BigIP loadbalancers
-BB,
--robot
tests for Return of Bleichenbacher's Oracle Threat (ROBOT)
vulnerability
-R,
--renegotiation
tests for renegotiation vulnerabilities
-C, --compression,
--crime tests for CRIME vulnerability
(TLS compression issue)
-B,
--breach
tests for BREACH vulnerability (HTTP compression issue)
-O,
--poodle
tests for POODLE (SSL) vulnerability
-Z,
--tls-fallback
checks TLS_FALLBACK_SCSV mitigation
-W,
--sweet32
tests 64 bit block ciphers (3DES, RC2 and IDEA): SWEET32
vulnerability
-A,
--beast
tests for BEAST vulnerability
-L,
--lucky13
tests for LUCKY13
-F,
--freak
tests for FREAK vulnerability
-J,
--logjam
tests for LOGJAM vulnerability
-D,
--drown
tests for DROWN vulnerability
-f, --pfs, --fs,
--nsa checks
(perfect) forward secrecy settings
-4, --rc4,
--appelbaum
which RC4 ciphers are being offered?
tuning / connect options (most also can be preset via
environment variables):
--fast
omits some checks: using openssl for all ciphers (-e),
show only first preferred cipher.
-9,
--full
includes tests for implementation bugs and cipher per
protocol (could disappear)
--bugs
enables the "-bugs" option of s_client, needed e.g. for
some buggy F5s
--assume-http
if protocol check fails it assumes HTTP protocol and
enforces HTTP checks
--ssl-native
fallback to checks with OpenSSL where sockets are normally
used
--openssl
<PATH>
use this openssl binary (default: look in $PATH, $RUN_DIR
of testssl.sh)
--proxy
<host:port|auto>
(experimental) proxy connects via <host:port>, auto:
values from $env ($http(s)_proxy)
-6
also use IPv6. Works only with supporting OpenSSL version
and IPv6 connectivity
--ip
<ip>
a) tests the supplied <ip> v4 or v6 address instead
of resolving host(s) in URI
b) arg "one" means: just test the first DNS returns
(useful for multiple IPs)
-n, --nodns
<min|none>
if "none": do not try any DNS lookups, "min" queries A,
AAAA and MX records
--sneaky
leave less traces in target logs: user agent, referer
--ids-friendly
skips a few vulnerability checks which may cause IDSs to
block the scanning IP
--phone-out
allow to contact external servers for CRL download and
querying OCSP responder
--add-ca
<cafile>
path to <cafile> or a comma separated list of CA
files enables test against additional CAs.
--basicauth
<user:pass>
provide HTTP basic auth information.
output options (can also be preset via environment
variables):
--quiet
don't output the banner. By doing this you acknowledge
usage terms normally appearing in the banner
--wide
wide output for tests like RC4, BEAST. PFS also with
hexcode, kx, strength, RFC name
--show-each
for wide outputs: display all ciphers tested -- not only
succeeded ones
--mapping
<openssl|
openssl: use the OpenSSL cipher suite name as the primary
name cipher suite name form (default)
iana|rfc
-> use the IANA/(RFC) cipher suite name as the primary
name cipher suite name form
no-openssl|
-> don't display the OpenSSL cipher suite name, display
IANA/(RFC) names only
no-iana|no-rfc> ->
don't display the IANA/(RFC) cipher suite name, display
OpenSSL names only
--color
<0|1|2|3>
0: no escape or other codes, 1: b/w escape
codes, 2: color (default), 3: extra color (color all
ciphers)
--colorblind
swap green and blue in the output
--debug
<0-6>
1: screen output normal but keeps debug output in
/tmp/. 2-6: see "grep -A 5 '^DEBUG=' testssl.sh"
file output options (can also be preset via environment
variables)
--log,
--logging
logs stdout to '${NODE}-p${port}${YYYYMMDD-HHMM}.log' in
current working directory (cwd)
--logfile|-oL
<logfile> logs
stdout to 'dir/${NODE}-p${port}${YYYYMMDD-HHMM}.log'. If
'logfile' is a dir or to a specified 'logfile'
--json
additional output of findings to flat JSON file
'${NODE}-p${port}${YYYYMMDD-HHMM}.json' in cwd
--jsonfile|-oj
<jsonfile> additional output
to the specified flat JSON file or directory, similar to
--logfile
--json-pretty
additional JSON structured output of findings to a file
'${NODE}-p${port}${YYYYMMDD-HHMM}.json' in cwd
--jsonfile-pretty|-oJ
<jsonfile> additional JSON structured output
to the specified file or directory, similar to --logfile
--csv
additional output of findings to CSV file
'${NODE}-p${port}${YYYYMMDD-HHMM}.csv' in cwd or directory
--csvfile|-oC
<csvfile>
additional output as CSV to the specified file or
directory, similar to --logfile
--html
additional output as HTML to file
'${NODE}-p${port}${YYYYMMDD-HHMM}.html'
--htmlfile|-oH
<htmlfile> additional output
as HTML to the specified file or directory, similar to
--logfile
--out(f,F)ile|-oa/-oA
<fname> log to a LOG,JSON,CSV,HTML file (see nmap).
-oA/-oa: pretty/flat JSON.
"auto" uses '${NODE}-p${port}${YYYYMMDD-HHMM}'. If fname
if a dir uses 'dir/${NODE}-p${port}${YYYYMMDD-HHMM}'
--hints
additional hints to findings
--severity
<severity>
severities with lower level will be filtered for CSV+JSON,
possible values <LOW|MEDIUM|HIGH|CRITICAL>
--append
if (non-empty) <logfile>, <csvfile>,
<jsonfile> or <htmlfile> exists, append to
file. Omits any header
--outprefix
<fname_prefix> before
'${NODE}.' above prepend <fname_prefix>
Options requiring a value can also be called with '=' e.g.
testssl.sh -t=smtp --wide --openssl=/usr/bin/openssl
<URI>.
<URI> always needs to be the last parameter.
[xtrnaw7@t540p /var/tmp/jwm/testssl]$
testssl example
[xtrnaw7@t540p /var/tmp/jwm/testssl]$ ./testssl.sh
www.heise.de
###########################################################
testssl.sh 3.0.6 from
https://testssl.sh/
This program is free
software. Distribution and
modification under GPLv2 permitted.
USAGE w/o ANY WARRANTY. USE
IT AT YOUR OWN RISK!
Please file bugs @
https://testssl.sh/bugs/
###########################################################
Using "OpenSSL 1.0.2-chacha (1.0.2k-dev)" [~179
ciphers]
on t540p:./bin/openssl.Linux.x86_64
(built: "Jan 18 17:12:17 2019", platform:
"linux-x86_64")
Start 2021-11-01
10:36:01
-->> 193.99.144.85:443 (www.heise.de) <<--
Further IP addresses:
2a02:2e0:3fe:1001:7777:772e:2:85
rDNS (193.99.144.85): www.heise.de.
Service
detected: HTTP
Testing protocols via sockets except NPN+ALPN
SSLv2 not offered (OK)
SSLv3 not offered (OK)
TLS 1 offered
(deprecated)
TLS 1.1 offered (deprecated)
TLS 1.2 offered (OK)
TLS 1.3 not offered and downgraded
to a weaker protocol
NPN/SPDY not offered
ALPN/HTTP2 h2, http/1.1 (offered)
Testing cipher categories
NULL ciphers (no
encryption)
not offered (OK)
Anonymous NULL Ciphers (no
authentication) not offered (OK)
Export ciphers (w/o
ADH+NULL)
not offered (OK)
LOW: 64 Bit + DES, RC[2,4] (w/o
export) not offered
(OK)
Triple DES Ciphers /
IDEA
not offered
Obsolete CBC ciphers (AES, ARIA
etc.)
offered
Strong encryption (AEAD
ciphers)
offered (OK)
Testing robust (perfect) forward secrecy, (P)FS --
omitting Null Authentication/Encryption, 3DES, RC4
PFS is offered
(OK)
ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-SHA384
ECDHE-RSA-AES256-SHA ECDHE-RSA-CHACHA20-POLY1305
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA
Elliptic curves offered:
prime256v1 secp384r1 X25519
Testing server preferences
Has server cipher order? yes
(OK)
Negotiated
protocol
TLSv1.2
Negotiated
cipher
ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Cipher order
TLSv1:
ECDHE-RSA-AES256-SHA CAMELLIA256-SHA ECDHE-RSA-AES128-SHA
AES128-SHA CAMELLIA128-SHA
TLSv1.1:
ECDHE-RSA-AES256-SHA CAMELLIA256-SHA ECDHE-RSA-AES128-SHA
AES128-SHA CAMELLIA128-SHA
TLSv1.2:
ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-CHACHA20-POLY1305
ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES256-SHA
ECDHE-RSA-AES256-SHA384 AES256-GCM-SHA384
CAMELLIA256-SHA ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES128-SHA256 AES128-GCM-SHA256 AES128-SHA
AES128-SHA256 CAMELLIA128-SHA
Testing server defaults (Server Hello)
TLS extensions (standard)
"renegotiation info/#65281" "server name/#0" "EC point
formats/#11" "application layer protocol negotiation/#16"
"extended master secret/#23"
Session Ticket RFC 5077 hint no -- no lifetime
advertised
SSL Session ID
support yes
Session
Resumption
Tickets no, ID: yes
TLS clock
skew
Random values, no fingerprinting possible
Signature
Algorithm
SHA256 with RSA
Server key
size
RSA 2048 bits
Server key
usage
Digital Signature, Key Encipherment
Server extended key usage TLS Web
Server Authentication, TLS Web Client Authentication
Serial /
Fingerprints
A019448608546FF902711845DBAD8ABC / SHA1
17673D20C92AD9446FDB6C5EED41716A71A6CF37
SHA256
A1A0CE42B5DA24E6210FB4B27614BCFDA36E4756296C6A9CD93105F1C76ED360
Common Name
(CN)
www.heise.de
subjectAltName
(SAN)
www.heise.de heise.de
Issuer
Sectigo RSA Domain Validation Secure Server CA (Sectigo
Limited from GB)
Trust
(hostname)
Ok via SAN (same w/o SNI)
Chain of
trust
Ok
EV cert
(experimental) no
ETS/"eTLS", visibility info not present
Certificate Validity (UTC) 221 >= 60
days (2020-03-12 00:00 --> 2022-06-10 23:59)
# of certificates provided 2
Certificate Revocation List --
OCSP
URI
http://ocsp.sectigo.com
OCSP
stapling
not offered
OCSP must staple extension --
DNS CAA RR (experimental) not
offered
Certificate Transparency yes
(certificate extension)
Testing HTTP header response @ "/"
HTTP Status
Code
200 OK
HTTP clock
skew
-34 sec from localtime
Strict Transport Security 182
days=15768000 s, just this domain
Public Key
Pinning
--
Server
banner
nginx
Application
banner
--
Cookie(s)
(none issued at "/")
Security
headers
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Cache-Control: no-store
X-XSS-Protection: 1; mode=block
Reverse Proxy
banner --
Testing vulnerabilities
Heartbleed
(CVE-2014-0160)
not vulnerable (OK), no heartbeat extension
CCS
(CVE-2014-0224)
not vulnerable (OK)
Ticketbleed (CVE-2016-9244), experiment. not
vulnerable (OK), no session ticket extension
ROBOT
not vulnerable (OK)
Secure Renegotiation (RFC
5746)
supported (OK)
Secure Client-Initiated
Renegotiation not vulnerable (OK)
CRIME, TLS
(CVE-2012-4929)
not vulnerable (OK)
BREACH
(CVE-2013-3587)
potentially NOT ok, "gzip" HTTP compression detected. -
only supplied "/" tested
Can be ignored for static pages or if no secrets in the
page
POODLE, SSL
(CVE-2014-3566)
not vulnerable (OK), no SSLv3 support
TLS_FALLBACK_SCSV (RFC
7507)
Probably OK. But received non-RFC-compliant "handshake
failure" instead of "inappropriate fallback"
SWEET32 (CVE-2016-2183,
CVE-2016-6329) not vulnerable (OK)
FREAK
(CVE-2015-0204)
not vulnerable (OK)
DROWN (CVE-2016-0800,
CVE-2016-0703) not
vulnerable on this host and port (OK)
make sure you don't use this certificate elsewhere with
SSLv2 enabled services
https://censys.io/ipv4?q=A1A0CE42B5DA24E6210FB4B27614BCFDA36E4756296C6A9CD93105F1C76ED360
could help you to find out
LOGJAM (CVE-2015-4000),
experimental not vulnerable
(OK): no DH EXPORT ciphers, no DH key detected with <=
TLS 1.2
BEAST
(CVE-2011-3389)
TLS1: ECDHE-RSA-AES256-SHA CAMELLIA256-SHA
ECDHE-RSA-AES128-SHA AES128-SHA CAMELLIA128-SHA
VULNERABLE -- but also supports higher protocols
TLSv1.1 TLSv1.2 (likely mitigated)
LUCKY13 (CVE-2013-0169),
experimental potentially
VULNERABLE, uses cipher block chaining (CBC) ciphers with
TLS. Check patches
RC4 (CVE-2013-2566,
CVE-2015-2808)
no RC4 ciphers detected (OK)
Testing 370 ciphers via OpenSSL plus sockets against
the server, ordered by encryption strength
Hexcode Cipher Suite Name
(OpenSSL)
KeyExch. Encryption
Bits Cipher Suite Name (IANA/RFC)
-----------------------------------------------------------------------------------------------------------------------------
xc030
ECDHE-RSA-AES256-GCM-SHA384
ECDH 256 AESGCM
256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
xc028
ECDHE-RSA-AES256-SHA384
ECDH 256
AES
256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
xc014
ECDHE-RSA-AES256-SHA
ECDH 256
AES
256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
xcca8
ECDHE-RSA-CHACHA20-POLY1305
ECDH 256 ChaCha20
256
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
x9d
AES256-GCM-SHA384
RSA
AESGCM
256
TLS_RSA_WITH_AES_256_GCM_SHA384
x84
CAMELLIA256-SHA
RSA
Camellia
256
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
xc02f
ECDHE-RSA-AES128-GCM-SHA256
ECDH 256 AESGCM
128
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
xc027
ECDHE-RSA-AES128-SHA256
ECDH 256
AES
128
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
xc013
ECDHE-RSA-AES128-SHA
ECDH 256
AES
128
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
x9c
AES128-GCM-SHA256
RSA
AESGCM
128
TLS_RSA_WITH_AES_128_GCM_SHA256
x3c
AES128-SHA256
RSA
AES
128
TLS_RSA_WITH_AES_128_CBC_SHA256
x2f
AES128-SHA
RSA
AES
128
TLS_RSA_WITH_AES_128_CBC_SHA
x41
CAMELLIA128-SHA
RSA
Camellia
128
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
Running client simulations (HTTP) via sockets
Android
4.4.2
TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Android
5.0.0
TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 256 bit ECDH (P-256)
Android
6.0
TLSv1.2 ECDHE-RSA-AES256-SHA, 256 bit ECDH (P-256)
Android 7.0
(native)
TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Android 8.1
(native)
TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Android 9.0
(native)
TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Android 10.0
(native) TLSv1.2
ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Chrome 74 (Win
10)
TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Chrome 79 (Win
10)
TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Firefox 66 (Win
8.1/10) TLSv1.2
ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Firefox 71 (Win
10)
TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
IE 6
XP
No connection
IE 8 Win
7
TLSv1.0 ECDHE-RSA-AES256-SHA, 256 bit ECDH (P-256)
IE 8
XP
No connection
IE 11 Win
7
TLSv1.2 ECDHE-RSA-AES256-SHA, 256 bit ECDH (P-256)
IE 11 Win
8.1
TLSv1.2 ECDHE-RSA-AES256-SHA, 256 bit ECDH (P-256)
IE 11 Win Phone
8.1
TLSv1.2 ECDHE-RSA-AES256-SHA, 256 bit ECDH (P-256)
IE 11 Win
10
TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Edge 15 Win
10
TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Edge 17 (Win
10)
TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Opera 66 (Win
10)
TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Safari 9 iOS
9
TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Safari 9 OS X
10.11
TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Safari 10 OS X
10.12
TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Safari 12.1 (iOS
12.2) TLSv1.2
ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Safari 13.0 (macOS 10.14.6) TLSv1.2
ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Apple ATS 9 iOS
9
TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Java
6u45
TLSv1.0 AES128-SHA, No FS
Java
7u25
TLSv1.0 ECDHE-RSA-AES128-SHA, 256 bit ECDH (P-256)
Java
8u161
TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Java 11.0.2
(OpenJDK)
TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Java 12.0.1
(OpenJDK)
TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
OpenSSL
1.0.2e
TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
OpenSSL 1.1.0l
(Debian) TLSv1.2
ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
OpenSSL 1.1.1d
(Debian) TLSv1.2
ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Thunderbird
(68.3)
TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Done 2021-11-01 10:37:10 [ 71s] -->>
193.99.144.85:443 (www.heise.de) <<--
[xtrnaw7@t540p /var/tmp/jwm/testssl]$
Simple command line tool to invoke tgkill(2)
"
tgkill() sends the signal sig to the thread with the
thread ID tid in the thread group tgid. (By contrast, kill(2)
can only be used to send a signal to a process (i.e., thread
group) as a whole, and the signal will be delivered to an
arbitrary thread within that process.) "
see also here :
https://linux.die.net/man/2/tgkill.
tgkill usage
[xtrnaw7@t15g /var/tmp/jwm/bin]$ ./tgkill
Usage: ./tgkill [-SIGNUM] [<tgid>]
<tid>
[xtrnaw7@t15g /var/tmp/jwm/bin]$
tgkill example
[xtrnaw7@t15g /var/tmp/jwm/bin]$ ps -p 1319962 -T
PID SPID
TTY
TIME CMD
1319962 1319962 pts/5
00:00:00 geany
1319962 1319967 pts/5
00:00:00 gmain
1319962 1319968 pts/5
00:00:00 gdbus
1319962 1319976 pts/5
00:00:00 pool-geany
[xtrnaw7@t15g /var/tmp/jwm/bin]$
[xtrnaw7@t15g /var/tmp/jwm/bin]$
./tgkill
Usage: ./tgkill [-SIGNUM] [<tgid>]
<tid>
[xtrnaw7@t15g /var/tmp/jwm/bin]$ ./tgkill 1319962 1319976
DEBUG: Killing thread 1319976 of thread group
1319962 with signal 15
[xtrnaw7@t15g /var/tmp/jwm/bin]$
[xtrnaw7@t15g /var/tmp/jwm/bin]$ ps -p 1319962 -T
PID SPID
TTY
TIME CMD
1319962 1319962 pts/5
00:00:00 geany
1319962 1319967 pts/5
00:00:00 gmain
1319962 1319968 pts/5
00:00:00 gdbus
[xtrnaw7@t15g /var/tmp/jwm/bin]$
tiptop can be used to monitor hardware counter.
"Hardware performance monitoring counters have recently
received a lot of attention. They have been used by diverse
communities to understand and improve the quality of computing
systems: for example, architects use them to extract
application characteristics and propose new hardware
mechanisms; compiler writers study how generated code behaves
on particular hardware; software developers identify critical
regions of their applications and evaluate design choices to
select the best performing implementation. We propose that
counters be used by all categories of users, in particular
non-experts, and we advocate that a few simple metrics derived
from these counters are relevant and useful. For example, a
low IPC (number of executed instructions per cycle) indicates
that the hardware is not performing at its best; a high cache
miss ratio can suggest several causes, such as conflicts
between processes in a multicore environment."
tiptop usage
Usage: ./src/tiptop [option]
-b
run in batch mode
-c
use command line instead of process name
--cpu-min m minimum
%CPU to display a process
-d
delay delay in seconds
between refreshes
-E filename file
where errors are logged
--epoch add
epoch at beginning of each line
-h --help
print this message
-H
show threads
-K --kernel show
kernel activity
-i
also display idle processes
--list-screens display list of
available screens
-n
num max
number of refreshes
-o outfile
output file in batch mode
--only-conf Disable
default screen, only configuration
-p --pid pid|name only display
task with this PID/name
-S
num screen
number to display
--sticky keep final
status of dead processes
--timestamp add
timestamp at beginning of each line
-u userid
only show user's processes
-U
show user name
-v
print version and exit
--version
print legalese and exit
-W
path Used
configuration file pointed by path
-w pid|name watch
this process (highlighted)
"The
trace-cmd(1) command interacts with the Ftrace
tracer that is built inside the Linux kernel. It interfaces
with the Ftrace specific files found in the debugfs file
system under the tracing directory. A
COMMAND must be
specified to tell trace-cmd what to do. "
trace-cmd usage
[xtrnaw7@t15g /var/tmp/jwm]$ bin/trace-cmd -h
trace-cmd version 2.7.
usage:
trace-cmd [COMMAND] ...
commands:
record - record a trace into a
trace.dat file
start - start tracing without
recording into a file
extract - extract a trace from
the kernel
stop - stop the kernel from
recording trace data
restart - restart the kernel
trace data recording
show - show the contents of the
kernel tracing buffer
reset - disable all kernel
tracing and clear the trace buffers
clear - clear the trace buffers
report - read out the trace
stored in a trace.dat file
stream - Start tracing and read
the output directly
profile - Start profiling and
read the output directly
hist - show a historgram of the
trace.dat information
stat - show the status of the
running tracing (ftrace) system
split - parse a trace.dat file
into smaller file(s)
options - list the plugin options
available for trace-cmd report
listen - listen on a network
socket for trace clients
list - list the available events,
plugins or options
restore - restore a crashed
record
snapshot - take snapshot of
running trace
stack - output, enable or disable
kernel stack tracing
check-events - parse trace event
formats
[xtrnaw7@t15g /var/tmp/jwm]$
trace-cmd examples
n/a
see also
Using
the ftrace interface with shell
wavemon is a wireless device monitoring
application that allows you to watch
signal and noise levels, packet statistics, device
configuration and network
parameters of your wireless network hardware. It should work
(though with
varying features) with all devices supported by the Linux
kernel.
wavemon usage
[xtrnaw7@t540p /var/tmp/jwm/bin]$
./wavemon -h
usage: wavemon [ -hgv ] [ -i ifname ]
-g
Ensure screen is sufficiently dimensioned
-h
This help screen
-i <ifname> Use specified network
interface (default: auto)
-v
Print version details
[xtrnaw7@t540p /var/tmp/jwm/bin]$
ZMap is a fast single packet network scanner designed
for Internet-wide network surveys
zmap usage
[xtrnaw7@t540p /var/tmp/jwm]$ ./bin/zmap -h
Usage: zmap [OPTION]... [SUBNETS]...
A fast Internet-wide scanner.
Basic arguments:
-p,
--target-port=port
port number to scan (for TCP and UDP scans)
-o,
--output-file=name
Output file
-b, --blocklist-file=path
File of subnets to exclude, in CIDR notation,
e.g. 192.168.0.0/16
-w, --allowlist-file=path
File of subnets to constrain scan to, in CIDR
notation, e.g. 192.168.0.0/16
-I, --list-of-ips-file=path List of
individual addresses to scan in random
order. Use --white-list file unless >1
million IPs
Scan options:
-r,
--rate=pps
Set send rate in packets/sec
-B,
--bandwidth=bps
Set send rate in bits/second (supports suffixes
G, M and K)
--batch=pps
Set the number of packets to send per iteration
-n,
--max-targets=n
Cap number of targets to probe (as a number or
a percentage of the address space)
-t,
--max-runtime=secs
Cap length of time for sending packets
-N,
--max-results=n
Cap number of results to return
-P,
--probes=n
Number of probes to send to each IP
(default=`1')
-c,
--cooldown-time=secs How
long to continue receiving after sending
last probe (default=`8')
-e,
--seed=n
Seed used to select address permutation
--retries=n
Max number of times to try to send packet if
send fails (default=`10')
-d,
--dryrun
Don't actually send packets
--shards=N
Set the total number of shards (default=`1')
--shard=n
Set which shard this scan is (0 indexed)
(default=`0')
Network options:
-s, --source-port=port|range Source port(s)
for scan packets
-S,
--source-ip=ip|range Source
address(es) for scan packets
-G,
--gateway-mac=addr
Specify gateway MAC address
--source-mac=addr
Source MAC address
-i,
--interface=name
Specify network interface to use
-X,
--iplayer
Sends IP packets instead of Ethernet (for VPNs)
Probe Modules:
-M,
--probe-module=name
Select probe module (default=`tcp_synscan')
--probe-args=args
Arguments to pass to probe module
--probe-ttl=n
Set TTL value for probe IP packets
(default=`255')
--list-probe-modules List
available probe modules
Data Output:
-f, --output-fields=fields Fields
that should be output in result set
-O,
--output-module=name Select
output module (default=`default')
--output-args=args
Arguments to pass to output module
--output-filter=filter Specify a filter
over the response fields to
limit what responses get sent to the output
module
--list-output-modules List
available output modules
--list-output-fields List
all fields that can be output by selected
probe module
Logging and Metadata:
-v,
--verbosity=n
Level of log detail (0-5) (default=`3')
-l,
--log-file=name
Write log entries to file
-L, --log-directory=directory Write log entries to
a timestamped file in this
directory
-m,
--metadata-file=name Output
file for scan metadata (JSON)
-u, --status-updates-file=name
Write scan progress updates to CSV file
-q,
--quiet
Do not print status updates
--disable-syslog
Disables logging messages to syslog
--notes=notes
Inject user-specified notes into scan metadata
--user-metadata=json Inject
user-specified JSON metadata into scan
metadata
Additional options:
-C,
--config=filename
Read a configuration file, which can specify
any of these options
(default=`/etc/zmap/zmap.conf')
--max-sendto-failures=n Maximum NIC sendto
failures before scan is
aborted (default=`-1')
--min-hitrate=n
Minimum hitrate that scan can hit before scan
is aborted (default=`0.0')
-T,
--sender-threads=n
Threads used to send packets (default=`1')
--cores=STRING
Comma-separated list of cores to pin to
--ignore-invalid-hosts Deprecated; use
--ignore-blocklist-errors
instead
--ignore-blocklist-errors
Ignore invalid entries in allowlist/blocklist
file. Equivalent to --ignore-invalid-hosts
-h,
--help
Print help and exit
-V,
--version
Print version and exit
Examples:
zmap -p 80 (scan the Internet for hosts
on tcp/80 and output to stdout)
zmap -N 5 -B 10M -p 80 (find 5 HTTP
servers, scanning at 10 Mb/s)
zmap -p 80 10.0.0.0/8 192.168.0.0/16 -o
(scan both subnets on tcp/80)
zmap -p 80 1.2.3.4 10.0.0.3 (scan
1.2.3.4, 10.0.0.3 on tcp/80)
Probe-module (tcp_synscan) Help:
Probe module that sends a TCP SYN packet to a specific
port. Possible
classifications are: synack and rst. A SYN-ACK packet is
considered a success
and a reset packet is considered a failed response.
Output-module (csv) Help:
By default, ZMap prints out unique, successfulIP addresses
(e.g., SYN-ACK from
a TCP SYN scan) in ASCII form (e.g., 192.168.1.5) to
stdout or the specified
output file. Internally this is handled by the "csv"
output module and is
equivalent to running zmap --output-module=csv
--output-fields=saddr
--output-filter="success = 1 && repeat = 0".
[xtrnaw7@t540p /var/tmp/jwm]$
zmap examples
[JWM session] [root@t540p /var/tmp/jwm]# zmap
-C ./etc/zmap/zmap.conf -i enp0s25 -p 80
192.168.1.0/24
Dec 24 11:42:35.613 [INFO] zmap: output module: csv
Dec 24 11:42:35.613 [INFO] csv: no output file selected,
will use stdout
Dec 24 11:42:35.632 [INFO] recv: Data link layer Ethernet
0:00 0%; send: 0 0 p/s (0 p/s avg); recv: 0 0 p/s (0
p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.00%
0:00 0%; send: 4 5.98 Kp/s (199 p/s avg); recv: 0 0
p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.00%
192.168.1.1
192.168.1.251
192.168.1.151
192.168.1.253
192.168.1.249
0:01 13%; send: 256 done (5.79 Kp/s avg); recv: 5 5
p/s (4 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 1.95%
0:02 25%; send: 256 done (5.79 Kp/s avg); recv: 5 0
p/s (2 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 1.95%
0:03 38%; send: 256 done (5.79 Kp/s avg); recv: 5 0
p/s (1 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 1.95%
0:04 50%; send: 256 done (5.79 Kp/s avg); recv: 5 0
p/s (1 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 1.95%
0:05 62% (4s left); send: 256 done (5.79 Kp/s avg);
recv: 5 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg);
hitrate: 1.95%
0:06 75% (3s left); send: 256 done (5.79 Kp/s avg);
recv: 5 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg);
hitrate: 1.95%
0:07 87% (2s left); send: 256 done (5.79 Kp/s avg);
recv: 5 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg);
hitrate: 1.95%
0:08 100% (1s left); send: 256 done (5.79 Kp/s avg);
recv: 5 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg);
hitrate: 1.95%
Dec 24 11:42:44.634 [INFO] zmap: completed
[JWM session] [root@t540p /var/tmp/jwm]#
[xtrnaw7@t540p /var/tmp/jwm]$ sudo bin/zmap -i enp0s25
-p 80
Dec 24 11:15:57.924 [INFO] zmap: output module: csv
Dec 24 11:15:57.924 [INFO] csv: no output file selected,
will use stdout
Dec 24 11:15:57.945 [INFO] recv: Data link layer Ethernet
0:00 0%; send: 4 1 p/s (181 p/s avg); recv: 0 0 p/s
(0 p/s avg); drops: 0 p/s (0 p/s avg); hitrate: 0.00%
0:00 0%; send: 73 9.69 Kp/s (2.50 Kp/s avg); recv: 0
0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hitrate:
0.00%
0:01 0%; send: 10057 9.98 Kp/s (9.77 Kp/s avg);
recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg);
hitrate: 0.00%
51.38.65.14
213.231.172.95
69.136.143.225
78.206.18.54
37.44.128.79
18.189.15.94
92.123.73.22
115.29.4.231
103.72.153.208
112.125.197.141
92.204.176.37
122.152.212.100
104.20.174.53
23.41.198.21
193.206.41.141
153.126.154.52
64.85.247.58
84.228.227.198
176.88.203.148
54.77.19.159
155.159.213.245
104.18.131.82
95.101.195.88
...
Note:
Please check the hints in the section
Hints for Compiling
the tools and the hints in the table
Tools_installed_in_JWM_Linux
if you get an error while compiling the tools.
If no working version of JWM / Linux for your Linux
distribution exists you can compile a new version yourself. To
do that download one of the existing JWM / Linux archives (it
does not matter which) and unpack the archive in the directory
/var/tmp.
Start a JWM / Linux session (
see
here)
Then change to the directory with JWM / Linux and issue
cd compile_scripts
./make_tools.sh cleanup lib
./make_tools.sh preparecompile all
./make_tools.sh
(see
Example
output of compiling the tools in parallel sessions)
The script then compiles all tools. This is done in multiple
parallel sessions. The default configuration is to start all
processes in parallel (that are currently about 90 processes)
-- to change this behaviour you can change it with the
parameter -w and -W (these are parameter for
execute_scripts.sh; make_tools.sh will forward them to
execute_scripts.sh):
-W timeout[/intervall]
"timeout" is the timeout for background processes and
"intervall" is the wait intervall for background processes.
Use "-1" or "none" for the timeout value to disable the
timeout.
Current values:
Timeout: 1h (= 3600 second(s) )
Intervall: 2s (= 2 second(s) )
Use a trailing "m" for times in minutes or a trailing "h"
for times in hours; "s" is for seconds which is the default
if neither "m" nor "h" is used.
Use "default" for any value to use the default value.
Use " -W /intervall" to only change the intervall.
You can also use "," to separate the values.
This parameter is only used if the commands are executed
in parallel (parameter "-d")
Long format: --timeout
-w
noOfBackgroundprocesses[/startIntervall[/maxStartTime]]
"noOfBackgroundprocesses" is the max. number of background
processes running at the same time, "startIntervall" is the
wait intervall and "maxStartTime" is the timeout for
starting
the background processes.
Use "-1" or "none" for an unlimited number of parallel
background processes.
Use "-1" or "none" for the timeout value to disable
the timeout.
Current values:
Max. number of parallel running background processes: -1
Wait intervall: 5s (= 5 second(s) )
Timeout value: 5m (= 300 second(s) )
Use a trailing "m" for times in minutes or a trailing "h"
for times in hours; "s" is for seconds which is the default
if neither "m" nor "h" is used.
Use "default" for any value to use the default value.
Use " -w /startIntervall" to only change the start
intervall.
Use " -w //maxStartTime" to only change the timeout
You can also use "," to separate the
values.
This parameter is only used if the commands are executed
in parallel (parameter "-d")
Long format: --noOfbackgroundProcesses
e.g to use up to 6 but not more parallel processes use
cd compile_scripts
./make_tools.sh cleanup lib
./make_tools.sh preparecompile all
./make_tools.sh -w 6
To compile the tools in a single session in sequential order
use:
cd compile_scripts
./make_tools.sh cleanup lib
./make_tools.sh preparecompile all
./make_tools.sh +d
(see
Example
output of compiling the tools sequential)
Note:
make_tools.sh and all other compile scripts for JWM / Linux
are in the directory ${JWM_DIR}/compile_scripts.
The compile scripts write a log file for each compile process
in the directory ${JWM_DIR}/workdir, the name of the logfile
is
./compile_<toolname>.sh.<PID>.log
(PID is the process id of the compile process)
The compile scripts also copies the new binaries and libraries
to the directories ${JWM_DIR}/bin, ${JWM_DIR}/sbin, or
${JWM_DIR}/lib (some manual; some via "make install").
If a tool contains manual pages these are copied to
${JWM_DIR}/man/man#.
To compile a single tool use the script
./compile_<toolname>.sh
where <toolname> is the name of the tool to compile.
E.g. to compile the tool cdpr do:
[xtrnaw7@t540p jwm]$ cd compile_scripts/
[xtrnaw7@t540p compile_scripts]$ ./make_tools.sh
preparecompile cdpr
[xtrnaw7@t540p compile_scripts]$ ./compile_cdpr.sh
----------------------------------------------------------------------
[compile_cdpr.sh] Start compiling the tool cdpr at So 8. Jun
18:29:32 CEST 2014 ...
rm -f cdpr
gcc -Wall -W -O2 cdpr.c cdprs.c conffile.c -lpcap -o cdpr
cdpr.c: In function ‘dump_ipv6’:
cdpr.c:109:26: warning: variable ‘p_ipv6’ set but not used
[-Wunused-but-set-variable]
register const char *p_ipv6;
^
rm -f cdpr
To compile a tool even if it's already compiled you can use
the parameter
-f for the compile script e.g.
[JWM session] [xtrnaw7@t540p
/var/tmp/jwm/compile_scripts]$ ./compile_cdpr.sh
JWM_DIR is "/var/tmp/jwm"
[compile_cdpr.sh] The tool "cdpr" is already
compiled
[JWM session] [xtrnaw7@t540p
/var/tmp/jwm/compile_scripts]$ ./compile_cdpr.sh -f
JWM_DIR is "/var/tmp/jwm"
----------------------------------------------------------------------
[compile_cdpr.sh] Start compiling the tool cdpr
at Sun Aug 26 10:08:33 CEST 2018 ...
*** Compiling the tool cdpr-2.4 ...
rm -f cdpr
gcc -Wall -W -O2 -I../../include/ cdpr.c cdprs.c
conffile.c -lpcap -L../../lib -o cdpr
cdpr.c: In function ‘dump_ipv6’:
cdpr.c:109:26: warning: variable ‘p_ipv6’ set but
not used [-Wunused-but-set-variable]
register const char
*p_ipv6;
^~~~~~
rm -f cdpr
[JWM session] [xtrnaw7@t540p
/var/tmp/jwm/compile_scripts]$
or use
make_tools.sh with the parameter
forcecompile,
e.g
[xtrnaw7@t540p /var/tmp/jwm]$
./compile_scripts/make_tools.sh compile cdpr
JWM_DIR is "/var/tmp/jwm"
... no general errors found.
JWM_DIR is "/var/tmp/jwm"
[compile_cdpr.sh] The tool "cdpr" is already compiled
[xtrnaw7@t540p /var/tmp/jwm]$
./compile_scripts/make_tools.sh forcecompile cdpr
JWM_DIR is "/var/tmp/jwm"
... no general errors found.
JWM_DIR is "/var/tmp/jwm"
----------------------------------------------------------------------
[compile_cdpr.sh] Start compiling the tool cdpr at Mon
Oct 3 15:43:28 CEST 2016 ...
*** Compiling the tool cdpr-2.4 ...
rm -f cdpr
gcc -Wall -W -O2 -I../../include/ cdpr.c cdprs.c conffile.c
-lpcap -L../../lib -o cdpr
cdpr.c: In function ‘dump_ipv6’:
cdpr.c:109:26: warning: variable ‘p_ipv6’ set but not used
[-Wunused-but-set-variable]
register const char *p_ipv6;
^
rm -f cdpr
[xtrnaw7@t540p /var/tmp/jwm]$
To change the target directory for JWM / Linux (that is
/var/tmp/jwm) create the new directory and unpack the tar
archive in that directory.
Before calling make_tools.sh there edit the include script
jwm_env and change the value for the variable JWM_DIR in that
script.
Note that not all tools compile out of the box on every Linux
distribution. Therefor the compile scripts use the file
${JWM_DIR}/NO_COMPILE_LIST
to decide if a tool should be compiled in a specific
distribution or not.
The file NO_COMPILE_LIST is a simple text file with the
following format:
# This file lists the
packages that should not be compiled
# on some distributions
#
# format:
# lines beginning with # are ignored
# all other lines should have the format
#
# Distribution_name Release architecture : <packages that
should not be compiled>
#
# Distribution_name is the output of the command
"lsb_release -s -d"
# Release is the output of the command "uname -r"
# Architecture is the output of the command "uname -m"
#
# All lines must start in column 1!
#
# e.g. to disable the compile of numatop and powertop on
Linux Mint 14 Nadia add the line:
#
# Linux Mint 14 Nadia 3.5.0-41-generic x86_64 : numatop
powertop
#
# partial OS descriptions can also be used, e.g.
#
# to disable the compile of numatop for all versions of
Linux Mint use
#
# Linux Mint : numatop
#
# to disable the compile of pchar and powertop in all Linux
distributions with kernel 3.19.8 use
#
# 3.19.8- : pchar powertop
#
Red Hat Enterprise Linux Workstation release 6.4 (Santiago)
2.6.32-358.11.1.el6.x86_64 x86_64 : powertop latencytop
numatop
Enterprise Linux Enterprise Linux Server release 5.4
(Carthage) 2.6.18-164.el5 x86_64 : powertop latencytop
numatop
openSUSE 11.2 (x86_64) 2.6.31.5-0.1-desktop x86_64 :
powertop latencytop numatop pchar
#
To add a tool to the no compile list for your distribution
issue:
./make_tools.sh nocompile <toolname>
The compile scripts save the current compile status so
that the already compiled tools do not get compiled again if
make_tools.sh is called a second time. To force the recompile
of an already compiled tool use
./make_tools.sh preparecompile <toolname>
To get the compile status for all tools use
./check_compile_status.sh
e.g.
check_compile_status.sh output
[JWM session] [xtrnaw7@t540p
/var/tmp/jwm/compile_scripts]$ ./check_compile_status.sh
JWM_DIR is "/var/tmp/jwm"
[check_compile_status.sh] The compile status is:
Tool
Compile status (newest)
Logfile
compile script
---------------------------------------------------------------------------------------------------------------------------------------------------------------
atop
compiled Size:
13822, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_atop.sh.3903.log
./compile_atop.sh
bmon
compiled Size:
10338, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_bmon.sh.3903.log
./compile_bmon.sh
bonnie++
compiled Size:
6806, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_bonnie++.sh.3903.log
./compile_bonnie++.sh
busybox
compiled Size:
22064, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_busybox.sh.3903.log
./compile_busybox.sh
bvi
compiled Size:
1729, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_bvi.sh.3903.log
./compile_bvi.sh
bwm_ng
compiled Size:
18666, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_bwm_ng.sh.3903.log
./compile_bwm_ng.sh
cdpr
compiled Size:
796, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_cdpr.sh.3903.log
./compile_cdpr.sh
cpulimit
compiled Size:
590, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_cpulimit.sh.3903.log
./compile_cpulimit.sh
cpumon
compiled Size:
1574, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_cpumon.sh.3903.log
./compile_cpumon.sh
cpustat
compiled Size:
851, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_cpustat.sh.3903.log
./compile_cpustat.sh
darkstat
compiled Size:
3986, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_darkstat.sh.3903.log
./compile_darkstat.sh
dhtest
compiled Size:
736, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_dhtest.sh.3903.log
./compile_dhtest.sh
dmidecode
compiled Size:
2276, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_dmidecode.sh.3903.log
./compile_dmidecode.sh
dstat
compiled Size:
510, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_dstat.sh.3903.log
./compile_dstat.sh
eventstat
compiled Size:
861, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_eventstat.sh.3903.log
./compile_eventstat.sh
fiemap
compiled Size:
681, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_fiemap.sh.3903.log
./compile_fiemap.sh
fio
compiled Size:
114012, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_fio.sh.3903.log
./compile_fio.sh
fnotifystat
compiled Size:
4072, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_fnotifystat.sh.3903.log
./compile_fnotifystat.sh
forkstat
compiled Size:
897, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_forkstat.sh.3903.log
./compile_forkstat.sh
fspy
compiled Size:
3070, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_fspy.sh.3903.log
./compile_fspy.sh
hdperf
compiled Size:
595, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_hdperf.sh.3903.log
./compile_hdperf.sh
health-check
compiled Size:
2215, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_health-check.sh.3903.log
./compile_health-check.sh
horst
compiled Size:
6180, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_horst.sh.3903.log
./compile_horst.sh
hostscope
compiled Size:
7933, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_hostscope.sh.3903.log
./compile_hostscope.sh
hping2
compiled Size:
9542, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_hping2.sh.3903.log
./compile_hping2.sh
htop
compiled Size:
30885, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_htop.sh.3903.log
./compile_htop.sh
ibmonitor
compiled Size:
517, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_ibmonitor.sh.3903.log
./compile_ibmonitor.sh
ifstat
compiled Size:
2802, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_ifstat.sh.3903.log
./compile_ifstat.sh
iftop
compiled Size:
10023, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_iftop.sh.3903.log
./compile_iftop.sh
inotify
compiled Size:
16134, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_inotify.sh.3903.log
./compile_inotify.sh
IntelPCM
compiled Size:
3942, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_IntelPCM.sh.3903.log
./compile_IntelPCM.sh
iozone
compiled Size:
13509, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_iozone.sh.3903.log
./compile_iozone.sh
ipaudit
compiled Size:
7557, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_ipaudit.sh.3903.log
./compile_ipaudit.sh
ipband
compiled Size:
7164, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_ipband.sh.3903.log
./compile_ipband.sh
iperf
compiled Size:
33590, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_iperf.sh.3903.log
./compile_iperf.sh
iptraf-ng
compiled Size:
6112, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_iptraf-ng.sh.3903.log
./compile_iptraf-ng.sh
iptraf
compiled Size:
32874, Date: Aug 26 10:15, Name:
/var/tmp/jwm/workdir/compile_iptraf.sh.3903.log
./compile_iptraf.sh
iptstate
compiled Size:
2756, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_iptstate.sh.3903.log
./compile_iptstate.sh
jnettop
compiled Size:
19608, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_jnettop.sh.3903.log
./compile_jnettop.sh
justniffer
compiled Size:
30337, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_justniffer.sh.3903.log
./compile_justniffer.sh
latencytop
compiled Size:
4026, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_latencytop.sh.3903.log
./compile_latencytop.sh
memstat
compiled Size:
595, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_memstat.sh.3903.log
./compile_memstat.sh
mtr
compiled Size:
7492, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_mtr.sh.3903.log
./compile_mtr.sh
netdata
compiled Size:
116383, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_netdata.sh.3903.log
./compile_netdata.sh
nethogs
compiled Size:
2006, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_nethogs.sh.3903.log
./compile_nethogs.sh
netio
compiled Size:
3354, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_netio.sh.3903.log
./compile_netio.sh
netperf
compiled Size:
18480, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_netperf.sh.3903.log
./compile_netperf.sh
netsniff-ng
compiled Size:
6820, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_netsniff-ng.sh.3903.log
./compile_netsniff-ng.sh
ngrep
compiled Size:
5624, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_ngrep.sh.3903.log
./compile_ngrep.sh
nicstat
compiled Size:
1059, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_nicstat.sh.3903.log
./compile_nicstat.sh
nload
compiled Size:
11014, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_nload.sh.3903.log
./compile_nload.sh
nmap
compiled Size:
140566, Date: Aug 26 10:18, Name:
/var/tmp/jwm/workdir/compile_nmap.sh.3903.log
./compile_nmap.sh
nmon
compiled Size:
620, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_nmon.sh.3903.log
./compile_nmon.sh
numatop
compiled Size:
1867, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_numatop.sh.3903.log
./compile_numatop.sh
oprofile
compiled Size:
90824, Date: Aug 26 10:18, Name:
/var/tmp/jwm/workdir/compile_oprofile.sh.3903.log
./compile_oprofile.sh
p0f
compiled Size:
1077, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_p0f.sh.3903.log
./compile_p0f.sh
pagemon
compiled Size:
928, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_pagemon.sh.3903.log
./compile_pagemon.sh
pchar
compiled Size:
14457, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_pchar.sh.3903.log
./compile_pchar.sh
pigz
compiled Size:
3686, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_pigz.sh.3903.log
./compile_pigz.sh
pktstat
compiled Size:
13163, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_pktstat.sh.3903.log
./compile_pktstat.sh
powerstat
compiled Size:
1093, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_powerstat.sh.3903.log
./compile_powerstat.sh
powertop
compiled Size:
15313, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_powertop.sh.3903.log
./compile_powertop.sh
procdump
compiled Size:
1520, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_procdump.sh.3903.log
./compile_procdump.sh
prtdiag
compiled Size:
507, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_prtdiag.sh.3903.log
./compile_prtdiag.sh
screen
compiled Size:
7556, Date: Aug 26 10:17, Name:
/var/tmp/jwm/workdir/compile_screen.sh.3903.log
./compile_screen.sh
smartmontools
compiled Size:
27070, Date: Aug 26 10:17, Name:
/var/tmp/jwm/workdir/compile_smartmontools.sh.3903.log
./compile_smartmontools.sh
smemstat
compiled Size:
882, Date: Aug 26 10:16, Name:
/var/tmp/jwm/workdir/compile_smemstat.sh.3903.log
./compile_smemstat.sh
stress-ng
compiled Size:
9979, Date: Aug 26 10:17, Name:
/var/tmp/jwm/workdir/compile_stress-ng.sh.3903.log
./compile_stress-ng.sh
stress
compiled Size:
7213, Date: Aug 26 10:17, Name:
/var/tmp/jwm/workdir/compile_stress.sh.3903.log
./compile_stress.sh
sysfsutils
compiled Size:
41020, Date: Aug 26 10:17, Name:
/var/tmp/jwm/workdir/compile_sysfsutils.sh.3903.log
./compile_sysfsutils.sh
sysstat
compiled Size:
18836, Date: Aug 26 10:17, Name:
/var/tmp/jwm/workdir/compile_sysstat.sh.3903.log
./compile_sysstat.sh
t50
compiled Size:
8202, Date: Aug 26 10:17, Name:
/var/tmp/jwm/workdir/compile_t50.sh.3903.log
./compile_t50.sh
tcpdump
compiled Size:
39963, Date: Aug 26 10:17, Name:
/var/tmp/jwm/workdir/compile_tcpdump.sh.3903.log
./compile_tcpdump.sh
tcptrack
compiled Size:
13048, Date: Aug 26 10:17, Name:
/var/tmp/jwm/workdir/compile_tcptrack.sh.3903.log
./compile_tcptrack.sh
tiptop
compiled Size:
6978, Date: Aug 26 10:17, Name:
/var/tmp/jwm/workdir/compile_tiptop.sh.3903.log
./compile_tiptop.sh
tracebox
compiled Size:
88323, Date: Aug 26 10:18, Name:
/var/tmp/jwm/workdir/compile_tracebox.sh.3903.log
./compile_tracebox.sh
unfs3
compiled Size:
6087, Date: Aug 26 10:17, Name:
/var/tmp/jwm/workdir/compile_unfs3.sh.3903.log
./compile_unfs3.sh
wavemon
compiled Size:
4665, Date: Aug 26 10:17, Name:
/var/tmp/jwm/workdir/compile_wavemon.sh.3903.log
./compile_wavemon.sh
All packages will be compiled in this distribution.
To compile a single tool use the compile script from the
last column in the table above.
Prior to recompiling an already compiled tool you must set
the tool to not compiled again using ./make_tools.sh
preparecompile <toolname>
Prior to compiling a tool on the ignore list you must
first remove the tool from the no compile list
/var/tmp/jwm/NO_COMPILE_LIST
To temporary disable compiling a tool execute
./make_tools.sh alreadycompiled <toolname>
(This will mark the tool compiled without compiling it)
To disable compiling a tool permanent for this
distribution execute ./make_tools.sh nocompile
<toolname>
(This will add the tool to the no compile list for this
distribution)
[JWM session] [xtrnaw7@t540p
/var/tmp/jwm/compile_scripts]$
The usage help for the script make_tools.sh is
[JWM session] [xtrnaw7@t540p compile_scripts]$
./make_tools.sh --help
JWM_DIR is "/var/tmp/jwm"
Usage: ./make_tools.sh [action] {action_parameter}
./make_tools.sh
<toolname>
./make_tools.sh
[parameter_for_execute_scripts.sh]
Without a parameter or without a known action
./make_tools.sh starts the compile process
for all tools.
The compile process uses parallel background processes to
compile the tools. To compile
the tools in sequential order use the parameter "+d".
Known actions are:
status
- list the compile status
compile <toolname>
- compile the tool <toolname>
<toolname> -
compile the tool <toolname>
alreadycompiled <toolname>
- temporary suppress the compiling of the tool
<toolname>
nocompile <toolname> {...}
{<toolname#>}
- add the tools <toolname#> to the no compile list for
this distribution
preparecompile <toolname> {...}
{<toolname#>}
- prepare the tools <toolname#> for re-compiling;
use "preparecompile all" to prepare all tools for
recompiling
forcecompile <toolname> {...}
{<toolname#>}
- compile the tools <toolname#> even if already
compiled
cleanup [lib|bin|sbin]
- delete all files in the bin, sbin, and lib directory
To get the status of the compile process use
"./check_compile_status.sh"
Checking the prerequisites for compiling ...
... no general errors found.
First create the new source directory in ${JWM_DIR}/src (the
name of the directory must use the format
<toolname>-<version>).
Then copy the source of the tool to the directory just
created.
Next create a compile script for the tool
cd ./compile_scripts
cp compile_tool.template ./compile_<toolname>.sh
And last edit the new compile script
compile_<toolname>.sh : Add the necessary commands to
compile and install the tool in the file after the line
# add the code to
compile the tool here
hostscope
set -e ; trap
"trap_error_for_compile_scripts" ERR
cd ${CURRENT_TOOL}*
#
----------------------------------------------------------------------
# add the code to compile the tool here; the current
directory is the
# source directory
#
#
----------------------------------------------------------------------
set +e ; trap "" ERR
Some hints:
Compile scripts for tools must have the extension "
.sh"
; compile scripts for libraries must start with "
compile_lib"
and must NOT have the extension ".sh".
Use "make clean" before the compilation and after the
installation to cleanup the source directory.
If the standard script configure is used to create the
makefile for the tool add the variable
${CONFIGURE_PARMS}
to the parameter of the configure script.
Note: The value of the variable
CONFIGURE_PARMS
in the make script for JWM / LInux is
--prefix=${JWM_DIR}.
If the makefile supports the installation (make install) use
it. If not add the necessary cp commands to copy the binaries
and man pages (if applicable) to the bin/sbin or man
directories.
After everything is done compile the tool to check the
configuration
cd ./compile_scripts
./compile_<toolname>.sh
If the script successfully compiles and installs the
tool in the JWM / Linux directories you're done.
To add another OS library to JWM / Linux add the name of the
library to the file
${JWM_DIR}/compile_scripts/OS_LIBS
All libraries listed in that file will be copied to the
directory ${JWM_DIR}/lib by the make script for JWM / Linux
(lines beginning with a "#" are ignored).
To add a specific version of a library insert the fullname ,
e.g. libtinfo.so.5.9; to add all versions of a library add
only the library name without version, e.g. libtinfo.
The libraries are searched in these directories (in this order
for each library):
${LIBC_PATH}
/usr/${LIBC_PATH}
/lib64
/lib
/usr/lib64
/usr/lib
/usr/local/lib
/usr/local/lib64
Unfortunately not all distributions now use the directories
/lib and /lib64 for the OS libraries . For example in Mint 19
the directories for the libraries are
xtrnaw7@mint19:/var/tmp/jwm/compile_scripts$ ls
-ld /lib/x86_64-linux-gnu/ /usr/lib/x86_64-linux-gnu/
drwxr-xr-x 4 root root 12288 Aug 18
22:21 /lib/x86_64-linux-gnu/
drwxr-xr-x 105 root root 69632 Aug 22 21:53
/usr/lib/x86_64-linux-gnu/
xtrnaw7@mint19:/var/tmp/jwm/compile_scripts$
Therefor I added code to detect the directories used for the
OS libraries (this is the value of the variable LIBC_PATH in
the list of directories above):
# get the path to the libc
LIBC_PATH="$( ldd $( which bash ) | grep
libc.so | awk '{ print $3 };' )"
LIBC_PATH="${LIBC_PATH%/*}"
The OS libraries are copied by
make_tools.sh. To
manual copy the OS libraries you can use the script
start_compiling with the parameter
--nocompile.
start_compiling usage
[xtrnaw7@t540p /var/tmp/jwm/compile_scripts]$
./start_compiling.sh -h
[22.08.2018 21:38 ] ### start_compiling.sh
started at Wed Aug 22 21:38:12 CEST 2018
start_compiling.sh
Function: start script for compiling the
tools from JWM for Linux
Usage:
start_compiling.sh [-v|--verbose] [-q|--quiet]
[-f|--force] [-y|--yes] [-n|--no] [-l|--logfile filename]
[-d{:dryrun_prefix}|--dryrun{:dryrun_prefix}]
[-D|--debugshell] [-t fn|--tracefunc fn] [-L]
[-T|--tee] [-V|--version] [--var name=value] [--appendlog]
[--nologrotate] [--noSTDOUTlog]
[--nocleanup] [--nocompile]
Parameter:
--nocompile - only copy libraries,
do not compile libraries
-h - print the script usage; use
-h and -v one or more times to print more help text
-v - verbose mode; use -v -v to
also print the runtime system messages
(or
set the environment variables VERBOSE to 0 and
VERBOSE_LEVEL to the level)
-q - quiet mode (or set the
environment variable QUIET to 0)
-f - force execution (or set the
environment variable FORCE to 0 )
-y - answer yes to all questions
-n - answer no to all questions
-l - logfile to use; use -l none
to not use a logfile at all
the
default logfile is /var/tmp/start_compiling.sh.log
also
supported is the format "-l:filename"
-d - dryrun mode, default
dryrun_prefix is "echo "
Use
the parameter "-d:<dryrun_prefix>" or the syntax
"PREFIX=<new dryrun_prefix>
/var/tmp/jwm/compile_scripts/start_compiling.sh"
to
change the dryrun prefix
The
script will run in dryrun mode if the environment variable
PREFIX
is
set. To disable that behaviour use the parameter "+d"
-D - start a debug shell and
continue the script afterwards
-t - trace the function fn
also
supported is the format "-t:fn[,...,fn#]"
-L - list all defined functions
and end the script
also
supported is the format "-l:filename"
-T - copy STDOUT and STDERR to the
file /var/tmp/start_compiling.sh.21509.tee.log
using tee; set the environment variable __TEE_OUTPUT_FILE
before
calling the script to change the file used for the output
of tee
-V - print the script version and
exit; use "-v -V" to print the
template version also
--var
- set the
variable "name" to the value "value"
also
supported is the format
"--var:<varname>=<value>"
--appendlog
- append the
messages to the logfile (default: overwrite an existing
logfile)
This
parameter also sets --nologrotate
--nologrotate
- do not create
a backup of an existing logfile
--noSTDOUTlog
- do not write
STDOUT/STDERR to a file if /dev/tty is not a a device
--nocleanup
- do no
house keeping at script end
Current environment: ksh version: 93 | change
function code supported: yes | tracing feature using $0
supported: yes
[22.08.2018 21:38 ] ### The logfile used was
/var/tmp/start_compiling.sh.log
[22.08.2018 21:38 ] ### start_compiling.sh
ended at Wed Aug 22 21:38:12 CEST 2018
[xtrnaw7@t540p /var/tmp/jwm/compile_scripts]$
start_compiling.sh sample output
[22.08.2018 21:35 ] ### start_compiling.sh started at
Wed Aug 22 21:35:37 CEST 2018
[22.08.2018 21:35 ] ### The logfile used is
/var/tmp/start_compiling.sh.log
JWM_DIR is "/var/tmp/jwm"
[22.08.2018 21:35 ./start_compiling.sh] Executing
"compile_libpcap" now ...
[22.08.2018 21:35 ./start_compiling.sh] Executing
"compile_libprotobuf" now ...
[22.08.2018 21:38 ./start_compiling.sh] The directory with
libc is "/lib64"
[22.08.2018 21:38 ./start_compiling.sh] Searching for the
OS libraries listed in
"/var/tmp/jwm/compile_scripts/OS_LIBS" :
libdb-5
libtinfo
libnuma
liblua
liblua5.2
liblua-5.1
liblua-5.2
liblua-5.3
libnl
libconfuse
libnl-3
libnl-route-3
libnl-genl-3
libnetfilter_conntrack
libnfnetlink
libboost_regex
libboost_regex-mt
libboost_iostreams
libboost_iostreams-mt
libboost_program_options
libboost_program_options-mt
liburcu
libcli
libnet
libsctp1
[22.08.2018 21:38 ./start_compiling.sh] The libraries will
be searched in these directories (in this order):
/lib64 /usr/lib64 /lib64 /lib /usr/lib64 /usr/lib
/usr/local/lib /usr/local/lib64
[22.08.2018 21:38 ./start_compiling.sh] Removing the
existing libraries now ...
[22.08.2018 21:38 ./start_compiling.sh] Deleting existing
versions of "libdb-5" ...
[22.08.2018 21:38 ./start_compiling.sh] Deleting existing
versions of "libtinfo" ...
[22.08.2018 21:38 ./start_compiling.sh] Deleting existing
versions of "libnuma" ...
[22.08.2018 21:38 ./start_compiling.sh] Deleting existing
versions of "liblua" ...
[22.08.2018 21:38 ./start_compiling.sh] Deleting existing
versions of "libnl" ...
[22.08.2018 21:38 ./start_compiling.sh] Deleting existing
versions of "libconfuse" ...
[22.08.2018 21:38 ./start_compiling.sh] Deleting existing
versions of "libnetfilter_conntrack" ...
[22.08.2018 21:38 ./start_compiling.sh] Deleting existing
versions of "libnfnetlink" ...
[22.08.2018 21:38 ./start_compiling.sh] Deleting existing
versions of "libboost_regex" ...
[22.08.2018 21:38 ./start_compiling.sh] Deleting existing
versions of "libboost_iostreams" ...
[22.08.2018 21:38 ./start_compiling.sh] Deleting existing
versions of "libboost_program_options" ...
[22.08.2018 21:38 ./start_compiling.sh] Deleting existing
versions of "liburcu" ...
[22.08.2018 21:38 ./start_compiling.sh] Deleting existing
versions of "libcli" ...
[22.08.2018 21:38 ./start_compiling.sh] Deleting existing
versions of "libnet" ...
[22.08.2018 21:38 ./start_compiling.sh] Copying the OS
libraries listed in the file
"/var/tmp/jwm/compile_scripts/OS_LIBS" ...
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "libdb-5" ...
[22.08.2018 21:38 ./start_compiling.sh] Libraries found
for "libdb-5.so*" in "/lib64" are:
/lib64/libdb-5.so
[22.08.2018 21:38 ./start_compiling.sh] Procssing the
libraries found in "/lib64" now ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libdb-5.so" ...
[22.08.2018 21:38 ./start_compiling.sh] /lib64/libdb-5.so
is a symbolic link: "lrwxrwxrwx 1 root root 12 Dec
20 2017 /lib64/libdb-5.so -> libdb-5.3.so"
[22.08.2018 21:38 ./start_compiling.sh] Copying
"/lib64/libdb-5.so" to "/var/tmp/jwm/lib/libdb-5.3.so" ...
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libdb-5.so" -> "libdb-5.3.so" ...
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "libtinfo" ...
[22.08.2018 21:38 ./start_compiling.sh] Libraries found
for "libtinfo.so*" in "/lib64" are:
/lib64/libtinfo.so
/lib64/libtinfo.so.5
/lib64/libtinfo.so.5.9
/lib64/libtinfo.so.6
/lib64/libtinfo.so.6.0
[22.08.2018 21:38 ./start_compiling.sh] Procssing the
libraries found in "/lib64" now ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libtinfo.so" ...
[22.08.2018 21:38 ./start_compiling.sh] /lib64/libtinfo.so
is a symbolic link: "lrwxrwxrwx 1 root root 13 May 10
11:14 /lib64/libtinfo.so -> libtinfo.so.6"
[22.08.2018 21:38 ./start_compiling.sh] Copying
"/lib64/libtinfo.so" to "/var/tmp/jwm/lib/libtinfo.so.6"
...
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libtinfo.so" -> "libtinfo.so.6" ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libtinfo.so.5" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libtinfo.so.5 is a symbolic link: "lrwxrwxrwx 1
root root 15 May 10 11:14 /lib64/libtinfo.so.5 ->
libtinfo.so.5.9"
[22.08.2018 21:38 ./start_compiling.sh] Copying
"/lib64/libtinfo.so.5" to
"/var/tmp/jwm/lib/libtinfo.so.5.9" ...
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libtinfo.so.5" -> "libtinfo.so.5.9"
...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libtinfo.so.5.9" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libtinfo.so.5.9 is a file: "-rwxr-xr-x 1 root root
173520 May 10 11:14 /lib64/libtinfo.so.5.9"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libtinfo.so.5.9" was already copied: "-rwxr-xr-x 1
xtrnaw7 xtrnaw7 173520 May 10 11:14
/var/tmp/jwm/lib/libtinfo.so.5.9"
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libtinfo.so.6" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libtinfo.so.6 is a symbolic link: "lrwxrwxrwx 1
root root 15 May 10 11:14 /lib64/libtinfo.so.6 ->
libtinfo.so.6.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libtinfo.so.6" was already copied: "-rwxr-xr-x 1
xtrnaw7 xtrnaw7 182144 May 10 11:14
/var/tmp/jwm/lib/libtinfo.so.6"
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libtinfo.so.6" -> "libtinfo.so.6.0"
...
ln: failed to create symbolic link
'/var/tmp/jwm/lib/libtinfo.so.6': File exists
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libtinfo.so.6.0" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libtinfo.so.6.0 is a file: "-rwxr-xr-x 1 root root
182144 May 10 11:14 /lib64/libtinfo.so.6.0"
[22.08.2018 21:38 ./start_compiling.sh] Copying
"/lib64/libtinfo.so.6.0" to
"/var/tmp/jwm/lib/libtinfo.so.6.0" ...
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "libnuma" ...
[22.08.2018 21:38 ./start_compiling.sh] Libraries found
for "libnuma.so*" in "/lib64" are:
/lib64/libnuma.so
/lib64/libnuma.so.1
/lib64/libnuma.so.1.0.0
[22.08.2018 21:38 ./start_compiling.sh] Procssing the
libraries found in "/lib64" now ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnuma.so" ...
[22.08.2018 21:38 ./start_compiling.sh] /lib64/libnuma.so
is a symbolic link: "lrwxrwxrwx 1 root root 16 Aug
4 2017 /lib64/libnuma.so -> libnuma.so.1.0.0"
[22.08.2018 21:38 ./start_compiling.sh] Copying
"/lib64/libnuma.so" to "/var/tmp/jwm/lib/libnuma.so.1.0.0"
...
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libnuma.so" -> "libnuma.so.1.0.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnuma.so.1" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libnuma.so.1 is a symbolic link: "lrwxrwxrwx 1 root
root 16 Aug 4 2017 /lib64/libnuma.so.1 ->
libnuma.so.1.0.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libnuma.so.1" was already copied: "-rwxr-xr-x 1
xtrnaw7 xtrnaw7 46496 Aug 4 2017
/var/tmp/jwm/lib/libnuma.so.1.0.0"
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libnuma.so.1" -> "libnuma.so.1.0.0"
...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnuma.so.1.0.0" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libnuma.so.1.0.0 is a file: "-rwxr-xr-x 1 root root
46496 Aug 4 2017 /lib64/libnuma.so.1.0.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libnuma.so.1.0.0" was already copied: "-rwxr-xr-x
1 xtrnaw7 xtrnaw7 46496 Aug 4 2017
/var/tmp/jwm/lib/libnuma.so.1.0.0"
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "liblua" ...
[22.08.2018 21:38 ./start_compiling.sh] Libraries found
for "liblua.so*" in "/lib64" are:
/lib64/liblua.so
[22.08.2018 21:38 ./start_compiling.sh] Procssing the
libraries found in "/lib64" now ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/liblua.so" ...
[22.08.2018 21:38 ./start_compiling.sh] /lib64/liblua.so
is a symbolic link: "lrwxrwxrwx 1 root root 13 Dec
4 2017 /lib64/liblua.so -> liblua-5.3.so"
[22.08.2018 21:38 ./start_compiling.sh] Copying
"/lib64/liblua.so" to "/var/tmp/jwm/lib/liblua-5.3.so" ...
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/liblua.so" -> "liblua-5.3.so" ...
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "liblua5.2" ...
[22.08.2018 21:38 ./start_compiling.sh] WARNING: Library
"liblua5.2" NOT found!
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "liblua-5.1" ...
[22.08.2018 21:38 ./start_compiling.sh] WARNING: Library
"liblua-5.1" NOT found!
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "liblua-5.2" ...
[22.08.2018 21:38 ./start_compiling.sh] WARNING: Library
"liblua-5.2" NOT found!
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "liblua-5.3" ...
[22.08.2018 21:38 ./start_compiling.sh] Libraries found
for "liblua-5.3.so*" in "/lib64" are:
/lib64/liblua-5.3.so
[22.08.2018 21:38 ./start_compiling.sh] Procssing the
libraries found in "/lib64" now ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/liblua-5.3.so" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/liblua-5.3.so is a file: "-rwxr-xr-x 1 root root
242424 Dec 4 2017 /lib64/liblua-5.3.so"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/liblua-5.3.so" was already copied: "-rwxr-xr-x 1
xtrnaw7 xtrnaw7 242424 Dec 4 2017
/var/tmp/jwm/lib/liblua-5.3.so"
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "libnl" ...
[22.08.2018 21:38 ./start_compiling.sh] WARNING: Library
"libnl" NOT found!
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "libconfuse" ...
[22.08.2018 21:38 ./start_compiling.sh] Libraries found
for "libconfuse.so*" in "/lib64" are:
/lib64/libconfuse.so
/lib64/libconfuse.so.1
/lib64/libconfuse.so.1.1.0
[22.08.2018 21:38 ./start_compiling.sh] Procssing the
libraries found in "/lib64" now ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libconfuse.so" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libconfuse.so is a symbolic link: "lrwxrwxrwx 1
root root 19 Aug 3 2017 /lib64/libconfuse.so
-> libconfuse.so.1.1.0"
[22.08.2018 21:38 ./start_compiling.sh] Copying
"/lib64/libconfuse.so" to
"/var/tmp/jwm/lib/libconfuse.so.1.1.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libconfuse.so" ->
"libconfuse.so.1.1.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libconfuse.so.1" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libconfuse.so.1 is a symbolic link: "lrwxrwxrwx 1
root root 19 Aug 3 2017 /lib64/libconfuse.so.1
-> libconfuse.so.1.1.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libconfuse.so.1" was already copied: "-rwxr-xr-x 1
xtrnaw7 xtrnaw7 57200 Aug 3 2017
/var/tmp/jwm/lib/libconfuse.so.1.1.0"
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libconfuse.so.1" ->
"libconfuse.so.1.1.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libconfuse.so.1.1.0" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libconfuse.so.1.1.0 is a file: "-rwxr-xr-x 1 root
root 57200 Aug 3 2017
/lib64/libconfuse.so.1.1.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libconfuse.so.1.1.0" was already copied:
"-rwxr-xr-x 1 xtrnaw7 xtrnaw7 57200 Aug 3 2017
/var/tmp/jwm/lib/libconfuse.so.1.1.0"
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "libnl-3" ...
[22.08.2018 21:38 ./start_compiling.sh] Libraries found
for "libnl-3.so*" in "/lib64" are:
/lib64/libnl-3.so
/lib64/libnl-3.so.200
/lib64/libnl-3.so.200.26.0
[22.08.2018 21:38 ./start_compiling.sh] Procssing the
libraries found in "/lib64" now ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnl-3.so" ...
[22.08.2018 21:38 ./start_compiling.sh] /lib64/libnl-3.so
is a symbolic link: "lrwxrwxrwx 1 root root 19 Oct
9 2017 /lib64/libnl-3.so -> libnl-3.so.200.26.0"
[22.08.2018 21:38 ./start_compiling.sh] Copying
"/lib64/libnl-3.so" to
"/var/tmp/jwm/lib/libnl-3.so.200.26.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libnl-3.so" -> "libnl-3.so.200.26.0"
...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnl-3.so.200" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libnl-3.so.200 is a symbolic link: "lrwxrwxrwx 1
root root 19 Oct 9 2017 /lib64/libnl-3.so.200
-> libnl-3.so.200.26.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libnl-3.so.200" was already copied: "-rwxr-xr-x 1
xtrnaw7 xtrnaw7 141344 Oct 9 2017
/var/tmp/jwm/lib/libnl-3.so.200.26.0"
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libnl-3.so.200" ->
"libnl-3.so.200.26.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnl-3.so.200.26.0" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libnl-3.so.200.26.0 is a file: "-rwxr-xr-x 1 root
root 141344 Oct 9 2017
/lib64/libnl-3.so.200.26.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libnl-3.so.200.26.0" was already copied:
"-rwxr-xr-x 1 xtrnaw7 xtrnaw7 141344 Oct 9
2017 /var/tmp/jwm/lib/libnl-3.so.200.26.0"
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "libnl-route-3" ...
[22.08.2018 21:38 ./start_compiling.sh] Libraries found
for "libnl-route-3.so*" in "/lib64" are:
/lib64/libnl-route-3.so
/lib64/libnl-route-3.so.200
/lib64/libnl-route-3.so.200.26.0
[22.08.2018 21:38 ./start_compiling.sh] Procssing the
libraries found in "/lib64" now ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnl-route-3.so" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libnl-route-3.so is a symbolic link: "lrwxrwxrwx 1
root root 25 Oct 9 2017
/lib64/libnl-route-3.so -> libnl-route-3.so.200.26.0"
[22.08.2018 21:38 ./start_compiling.sh] Copying
"/lib64/libnl-route-3.so" to
"/var/tmp/jwm/lib/libnl-route-3.so.200.26.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libnl-route-3.so" ->
"libnl-route-3.so.200.26.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnl-route-3.so.200" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libnl-route-3.so.200 is a symbolic link:
"lrwxrwxrwx 1 root root 25 Oct 9 2017
/lib64/libnl-route-3.so.200 ->
libnl-route-3.so.200.26.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libnl-route-3.so.200" was already copied:
"-rwxr-xr-x 1 xtrnaw7 xtrnaw7 488680 Oct 9
2017 /var/tmp/jwm/lib/libnl-route-3.so.200.26.0"
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libnl-route-3.so.200" ->
"libnl-route-3.so.200.26.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnl-route-3.so.200.26.0" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libnl-route-3.so.200.26.0 is a file: "-rwxr-xr-x 1
root root 488680 Oct 9 2017
/lib64/libnl-route-3.so.200.26.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libnl-route-3.so.200.26.0" was already copied:
"-rwxr-xr-x 1 xtrnaw7 xtrnaw7 488680 Oct 9
2017 /var/tmp/jwm/lib/libnl-route-3.so.200.26.0"
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "libnl-genl-3" ...
[22.08.2018 21:38 ./start_compiling.sh] Libraries found
for "libnl-genl-3.so*" in "/lib64" are:
/lib64/libnl-genl-3.so
/lib64/libnl-genl-3.so.200
/lib64/libnl-genl-3.so.200.26.0
[22.08.2018 21:38 ./start_compiling.sh] Procssing the
libraries found in "/lib64" now ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnl-genl-3.so" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libnl-genl-3.so is a symbolic link: "lrwxrwxrwx 1
root root 24 Oct 9 2017 /lib64/libnl-genl-3.so
-> libnl-genl-3.so.200.26.0"
[22.08.2018 21:38 ./start_compiling.sh] Copying
"/lib64/libnl-genl-3.so" to
"/var/tmp/jwm/lib/libnl-genl-3.so.200.26.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libnl-genl-3.so" ->
"libnl-genl-3.so.200.26.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnl-genl-3.so.200" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libnl-genl-3.so.200 is a symbolic link: "lrwxrwxrwx
1 root root 24 Oct 9 2017
/lib64/libnl-genl-3.so.200 -> libnl-genl-3.so.200.26.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libnl-genl-3.so.200" was already copied:
"-rwxr-xr-x 1 xtrnaw7 xtrnaw7 28816 Oct 9 2017
/var/tmp/jwm/lib/libnl-genl-3.so.200.26.0"
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libnl-genl-3.so.200" ->
"libnl-genl-3.so.200.26.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnl-genl-3.so.200.26.0" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libnl-genl-3.so.200.26.0 is a file: "-rwxr-xr-x 1
root root 28816 Oct 9 2017
/lib64/libnl-genl-3.so.200.26.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libnl-genl-3.so.200.26.0" was already copied:
"-rwxr-xr-x 1 xtrnaw7 xtrnaw7 28816 Oct 9 2017
/var/tmp/jwm/lib/libnl-genl-3.so.200.26.0"
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "libnetfilter_conntrack" ...
[22.08.2018 21:38 ./start_compiling.sh] Libraries found
for "libnetfilter_conntrack.so*" in "/lib64" are:
/lib64/libnetfilter_conntrack.so
/lib64/libnetfilter_conntrack.so.3
/lib64/libnetfilter_conntrack.so.3.6.0
[22.08.2018 21:38 ./start_compiling.sh] Procssing the
libraries found in "/lib64" now ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnetfilter_conntrack.so" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libnetfilter_conntrack.so is a symbolic link:
"lrwxrwxrwx 1 root root 31 Aug 3 2017
/lib64/libnetfilter_conntrack.so ->
libnetfilter_conntrack.so.3.6.0"
[22.08.2018 21:38 ./start_compiling.sh] Copying
"/lib64/libnetfilter_conntrack.so" to
"/var/tmp/jwm/lib/libnetfilter_conntrack.so.3.6.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libnetfilter_conntrack.so" ->
"libnetfilter_conntrack.so.3.6.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnetfilter_conntrack.so.3" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libnetfilter_conntrack.so.3 is a symbolic link:
"lrwxrwxrwx 1 root root 31 Aug 3 2017
/lib64/libnetfilter_conntrack.so.3 ->
libnetfilter_conntrack.so.3.6.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libnetfilter_conntrack.so.3" was already copied:
"-rwxr-xr-x 1 xtrnaw7 xtrnaw7 128504 Aug 3
2017 /var/tmp/jwm/lib/libnetfilter_conntrack.so.3.6.0"
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libnetfilter_conntrack.so.3" ->
"libnetfilter_conntrack.so.3.6.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnetfilter_conntrack.so.3.6.0" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libnetfilter_conntrack.so.3.6.0 is a file:
"-rwxr-xr-x 1 root root 128504 Aug 3 2017
/lib64/libnetfilter_conntrack.so.3.6.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libnetfilter_conntrack.so.3.6.0" was already
copied: "-rwxr-xr-x 1 xtrnaw7 xtrnaw7 128504 Aug
3 2017
/var/tmp/jwm/lib/libnetfilter_conntrack.so.3.6.0"
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "libnfnetlink" ...
[22.08.2018 21:38 ./start_compiling.sh] Libraries found
for "libnfnetlink.so*" in "/lib64" are:
/lib64/libnfnetlink.so
/lib64/libnfnetlink.so.0
/lib64/libnfnetlink.so.0.2.0
[22.08.2018 21:38 ./start_compiling.sh] Procssing the
libraries found in "/lib64" now ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnfnetlink.so" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libnfnetlink.so is a symbolic link: "lrwxrwxrwx 1
root root 21 Aug 3 2017 /lib64/libnfnetlink.so
-> libnfnetlink.so.0.2.0"
[22.08.2018 21:38 ./start_compiling.sh] Copying
"/lib64/libnfnetlink.so" to
"/var/tmp/jwm/lib/libnfnetlink.so.0.2.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libnfnetlink.so" ->
"libnfnetlink.so.0.2.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnfnetlink.so.0" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libnfnetlink.so.0 is a symbolic link: "lrwxrwxrwx 1
root root 21 Aug 3 2017
/lib64/libnfnetlink.so.0 -> libnfnetlink.so.0.2.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libnfnetlink.so.0" was already copied: "-rwxr-xr-x
1 xtrnaw7 xtrnaw7 27208 Aug 3 2017
/var/tmp/jwm/lib/libnfnetlink.so.0.2.0"
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libnfnetlink.so.0" ->
"libnfnetlink.so.0.2.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnfnetlink.so.0.2.0" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libnfnetlink.so.0.2.0 is a file: "-rwxr-xr-x 1 root
root 27208 Aug 3 2017
/lib64/libnfnetlink.so.0.2.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libnfnetlink.so.0.2.0" was already copied:
"-rwxr-xr-x 1 xtrnaw7 xtrnaw7 27208 Aug 3 2017
/var/tmp/jwm/lib/libnfnetlink.so.0.2.0"
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "libboost_regex" ...
[22.08.2018 21:38 ./start_compiling.sh] Libraries found
for "libboost_regex.so*" in "/lib64" are:
/lib64/libboost_regex.so
/lib64/libboost_regex.so.1.64.0
[22.08.2018 21:38 ./start_compiling.sh] Procssing the
libraries found in "/lib64" now ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libboost_regex.so" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libboost_regex.so is a symbolic link: "lrwxrwxrwx 1
root root 24 Jul 18 18:51 /lib64/libboost_regex.so ->
libboost_regex.so.1.64.0"
[22.08.2018 21:38 ./start_compiling.sh] Copying
"/lib64/libboost_regex.so" to
"/var/tmp/jwm/lib/libboost_regex.so.1.64.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libboost_regex.so" ->
"libboost_regex.so.1.64.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libboost_regex.so.1.64.0" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libboost_regex.so.1.64.0 is a file: "-rwxr-xr-x 1
root root 1090040 Jul 18 18:53
/lib64/libboost_regex.so.1.64.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libboost_regex.so.1.64.0" was already copied:
"-rwxr-xr-x 1 xtrnaw7 xtrnaw7 1090040 Jul 18 18:53
/var/tmp/jwm/lib/libboost_regex.so.1.64.0"
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "libboost_regex-mt" ...
[22.08.2018 21:38 ./start_compiling.sh] WARNING: Library
"libboost_regex-mt" NOT found!
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "libboost_iostreams" ...
[22.08.2018 21:38 ./start_compiling.sh] Libraries found
for "libboost_iostreams.so*" in "/lib64" are:
/lib64/libboost_iostreams.so
/lib64/libboost_iostreams.so.1.64.0
[22.08.2018 21:38 ./start_compiling.sh] Procssing the
libraries found in "/lib64" now ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libboost_iostreams.so" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libboost_iostreams.so is a symbolic link:
"lrwxrwxrwx 1 root root 28 Jul 18 18:51
/lib64/libboost_iostreams.so ->
libboost_iostreams.so.1.64.0"
[22.08.2018 21:38 ./start_compiling.sh] Copying
"/lib64/libboost_iostreams.so" to
"/var/tmp/jwm/lib/libboost_iostreams.so.1.64.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libboost_iostreams.so" ->
"libboost_iostreams.so.1.64.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libboost_iostreams.so.1.64.0" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libboost_iostreams.so.1.64.0 is a file: "-rwxr-xr-x
1 root root 106696 Jul 18 18:53
/lib64/libboost_iostreams.so.1.64.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libboost_iostreams.so.1.64.0" was already copied:
"-rwxr-xr-x 1 xtrnaw7 xtrnaw7 106696 Jul 18 18:53
/var/tmp/jwm/lib/libboost_iostreams.so.1.64.0"
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "libboost_iostreams-mt" ...
[22.08.2018 21:38 ./start_compiling.sh] WARNING: Library
"libboost_iostreams-mt" NOT found!
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "libboost_program_options" ...
[22.08.2018 21:38 ./start_compiling.sh] Libraries found
for "libboost_program_options.so*" in "/lib64" are:
/lib64/libboost_program_options.so
/lib64/libboost_program_options.so.1.64.0
[22.08.2018 21:38 ./start_compiling.sh] Procssing the
libraries found in "/lib64" now ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libboost_program_options.so" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libboost_program_options.so is a symbolic link:
"lrwxrwxrwx 1 root root 34 Jul 18 18:51
/lib64/libboost_program_options.so ->
libboost_program_options.so.1.64.0"
[22.08.2018 21:38 ./start_compiling.sh] Copying
"/lib64/libboost_program_options.so" to
"/var/tmp/jwm/lib/libboost_program_options.so.1.64.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libboost_program_options.so" ->
"libboost_program_options.so.1.64.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libboost_program_options.so.1.64.0" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libboost_program_options.so.1.64.0 is a file:
"-rwxr-xr-x 1 root root 506224 Jul 18 18:53
/lib64/libboost_program_options.so.1.64.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libboost_program_options.so.1.64.0" was already
copied: "-rwxr-xr-x 1 xtrnaw7 xtrnaw7 506224 Jul 18 18:53
/var/tmp/jwm/lib/libboost_program_options.so.1.64.0"
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "libboost_program_options-mt" ...
[22.08.2018 21:38 ./start_compiling.sh] WARNING: Library
"libboost_program_options-mt" NOT found!
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "liburcu" ...
[22.08.2018 21:38 ./start_compiling.sh] Libraries found
for "liburcu.so*" in "/lib64" are:
/lib64/liburcu.so
/lib64/liburcu.so.6
/lib64/liburcu.so.6.0.0
[22.08.2018 21:38 ./start_compiling.sh] Procssing the
libraries found in "/lib64" now ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/liburcu.so" ...
[22.08.2018 21:38 ./start_compiling.sh] /lib64/liburcu.so
is a symbolic link: "lrwxrwxrwx 1 root root 16 Aug
5 2017 /lib64/liburcu.so -> liburcu.so.6.0.0"
[22.08.2018 21:38 ./start_compiling.sh] Copying
"/lib64/liburcu.so" to "/var/tmp/jwm/lib/liburcu.so.6.0.0"
...
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/liburcu.so" -> "liburcu.so.6.0.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/liburcu.so.6" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/liburcu.so.6 is a symbolic link: "lrwxrwxrwx 1 root
root 16 Aug 5 2017 /lib64/liburcu.so.6 ->
liburcu.so.6.0.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/liburcu.so.6" was already copied: "-rwxr-xr-x 1
xtrnaw7 xtrnaw7 32320 Aug 5 2017
/var/tmp/jwm/lib/liburcu.so.6.0.0"
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/liburcu.so.6" -> "liburcu.so.6.0.0"
...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/liburcu.so.6.0.0" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/liburcu.so.6.0.0 is a file: "-rwxr-xr-x 1 root root
32320 Aug 5 2017 /lib64/liburcu.so.6.0.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/liburcu.so.6.0.0" was already copied: "-rwxr-xr-x
1 xtrnaw7 xtrnaw7 32320 Aug 5 2017
/var/tmp/jwm/lib/liburcu.so.6.0.0"
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "libcli" ...
[22.08.2018 21:38 ./start_compiling.sh] Libraries found
for "libcli.so*" in "/lib64" are:
/lib64/libcli.so
/lib64/libcli.so.1.9
/lib64/libcli.so.1.9.7
[22.08.2018 21:38 ./start_compiling.sh] Procssing the
libraries found in "/lib64" now ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libcli.so" ...
[22.08.2018 21:38 ./start_compiling.sh] /lib64/libcli.so
is a symbolic link: "lrwxrwxrwx 1 root root 24 Aug
3 2017 /lib64/libcli.so ->
/usr/lib64/libcli.so.1.9"
[22.08.2018 21:38 ./start_compiling.sh] Copying
"/lib64/libcli.so" to "/var/tmp/jwm/lib/libcli.so.1.9" ...
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libcli.so" -> "libcli.so.1.9" ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libcli.so.1.9" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libcli.so.1.9 is a symbolic link: "lrwxrwxrwx 1
root root 26 Aug 3 2017 /lib64/libcli.so.1.9
-> /usr/lib64/libcli.so.1.9.7"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libcli.so.1.9" was already copied: "-rwxr-xr-x 1
xtrnaw7 xtrnaw7 40736 Aug 3 2017
/var/tmp/jwm/lib/libcli.so.1.9"
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libcli.so.1.9" -> "libcli.so.1.9.7"
...
ln: failed to create symbolic link
'/var/tmp/jwm/lib/libcli.so.1.9': File exists
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libcli.so.1.9.7" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libcli.so.1.9.7 is a file: "-rwxr-xr-x 1 root root
40736 Aug 3 2017 /lib64/libcli.so.1.9.7"
[22.08.2018 21:38 ./start_compiling.sh] Copying
"/lib64/libcli.so.1.9.7" to
"/var/tmp/jwm/lib/libcli.so.1.9.7" ...
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "libnet" ...
[22.08.2018 21:38 ./start_compiling.sh] Libraries found
for "libnet.so*" in "/lib64" are:
/lib64/libnet.so
/lib64/libnet.so.1
/lib64/libnet.so.1.7.0
[22.08.2018 21:38 ./start_compiling.sh] Procssing the
libraries found in "/lib64" now ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnet.so" ...
[22.08.2018 21:38 ./start_compiling.sh] /lib64/libnet.so
is a symbolic link: "lrwxrwxrwx 1 root root 15 Aug
3 2017 /lib64/libnet.so -> libnet.so.1.7.0"
[22.08.2018 21:38 ./start_compiling.sh] Copying
"/lib64/libnet.so" to "/var/tmp/jwm/lib/libnet.so.1.7.0"
...
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libnet.so" -> "libnet.so.1.7.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnet.so.1" ...
[22.08.2018 21:38 ./start_compiling.sh] /lib64/libnet.so.1
is a symbolic link: "lrwxrwxrwx 1 root root 15 Aug
3 2017 /lib64/libnet.so.1 -> libnet.so.1.7.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libnet.so.1" was already copied: "-rwxr-xr-x 1
xtrnaw7 xtrnaw7 97944 Aug 3 2017
/var/tmp/jwm/lib/libnet.so.1.7.0"
[22.08.2018 21:38 ./start_compiling.sh] Creating the link
"/var/tmp/jwm/lib/libnet.so.1" -> "libnet.so.1.7.0" ...
[22.08.2018 21:38 ./start_compiling.sh] Processing the
library "/lib64/libnet.so.1.7.0" ...
[22.08.2018 21:38 ./start_compiling.sh]
/lib64/libnet.so.1.7.0 is a file: "-rwxr-xr-x 1 root root
97944 Aug 3 2017 /lib64/libnet.so.1.7.0"
[22.08.2018 21:38 ./start_compiling.sh] The library
"/lib64/libnet.so.1.7.0" was already copied: "-rwxr-xr-x 1
xtrnaw7 xtrnaw7 97944 Aug 3 2017
/var/tmp/jwm/lib/libnet.so.1.7.0"
[22.08.2018 21:38 ./start_compiling.sh]
----------------------------------------
[22.08.2018 21:38 ./start_compiling.sh] Searching the
library "libsctp1" ...
[22.08.2018 21:38 ./start_compiling.sh] WARNING: Library
"libsctp1" NOT found!
[22.08.2018 21:38 ./start_compiling.sh] Libraries found
are:
libdb-5.3.so libtinfo.so.6 libtinfo.so.5.9
libtinfo.so.6.0 libnuma.so.1.0.0 liblua-5.3.so
libconfuse.so.1.1.0 libnl-3.so.200.26.0
libnl-route-3.so.200.26.0 libnl-genl-3.so.200.26.0
libnetfilter_conntrack.so.3.6.0 libnfnetlink.so.0.2.0
libboost_regex.so.1.64.0 libboost_iostreams.so.1.64.0
libboost_program_options.so.1.64.0 liburcu.so.6.0.0
libcli.so.1.9 libcli.so.1.9.7 libnet.so.1.7.0
[22.08.2018 21:38 ./start_compiling.sh] Libraries NOT
found are:
liblua5.2 liblua-5.1 liblua-5.2 libnl
libboost_regex-mt libboost_iostreams-mt
libboost_program_options-mt libsctp1
[xtrnaw7@t540p /var/tmp/jwm/compile_scripts]$
The logfile for start_compiling.sh is
/var/tmp/start_compiling.sh.log
In case of strange errors for a lot of tools while compiling
the tools please first check this log file and check also the
contents of the directory lib in JWM (lib64 is only a symbolic
link to lib).
To check for missing libraries you can use the script .
/compile_scripts/check_for_missing_libs.sh.
This script uses ldd for every executable found to check the
required libraries.
The usage for check_for_missing_libs.sh is:
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
./compile_scripts/check_for_missing_libs.sh --help
[19.11.2016 10:05 ] ### check_for_missing_libs.sh started at
Sat Nov 19 10:05:59 CET 2016
[19.11.2016 10:05 ] ### The logfile used is
/var/tmp/check_for_missing_libs.sh.log
check_for_missing_libraries
Function: check all binaries found for missing
libraries
Usage: check_for_missing_libraries
[-v|--verbose] [-q|--quiet] [-L libpath] [-f|--force]
[directroy]
Parameter:
-v - verbose mode
-q - quiet mode
-f - force execution
-L libpath -- directory for LD_LIBRARY_PATH;
default: /var/tmp/jwm/lib and ../lib
if these directories exist;
use -L none to disable this behaviour
[19.11.2016 10:05 ] ### The logfile used was
/var/tmp/check_for_missing_libs.sh.log
[19.11.2016 10:05 ] ### check_for_missing_libs.sh ended at
Sat Nov 19 10:05:59 CET 2016
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
Usage examples:
check for missing libraries in the OS
[bernd@oc8260701612 /var/tmp/jwm/htdocs]$
/var/tmp/jwm/compile_scripts/check_for_missing_libs.sh -L
none ../bin ../sbin
[19.11.2016 10:25 ] ### check_for_missing_libs.sh started
at Sat Nov 19 10:25:44 CET 2016
[19.11.2016 10:25 ] ### The logfile used is
/var/tmp/check_for_missing_libs.sh.log
[19.11.2016 10:25 ] The list of directories to search for
files is:
../bin ../sbin
[19.11.2016 10:25 ] Searching files in the directory
"../bin" ...
[19.11.2016 10:25 ] 72 executable file(s) found in the
directory "../bin"
[19.11.2016 10:25 ] Checking the files in the directory
"../bin" ...
.
[19.11.2016 10:25 ] ERROR: Some libraries for ./justniffer
are missing:
libboost_regex.so.1.62.0 => not
found
libboost_iostreams.so.1.62.0 => not
found
libboost_program_options.so.1.62.0
=> not found
[19.11.2016 10:25 ] ERROR: Some libraries for
./testlibsysfs are missing:
libsysfs.so.2 => not found
[19.11.2016 10:25 ] Searching files in the directory
"../sbin" ...
[19.11.2016 10:25 ] 42 executable files found in the
directory "../sbin"
[19.11.2016 10:25 ] Checking the files in the directory
"../sbin" ...
.
[19.11.2016 10:25 ] ERROR: Some libraries for ./hostscoped
are missing:
libprotobuf-lite.so.9 => not found
[19.11.2016 10:25 ] ERROR: Some libraries for
./fnotifystat are missing:
./fnotifystat: /lib64/libc.so.6: version `GLIBC_2.13' not
found (required by ./fnotifystat)
[19.11.2016 10:25 ] ERROR: Some libraries for
./health-check are missing:
./health-check: /lib64/libc.so.6: version `GLIBC_2.13' not
found (required by ./health-check)
[19.11.2016 10:25 ] ERROR: Binaries found with missing
libs are:
/var/tmp/jwm/bin/./justniffer
/var/tmp/jwm/bin/./testlibsysfs
/var/tmp/jwm/sbin/./hostscoped
/var/tmp/jwm/sbin/./fnotifystat
/var/tmp/jwm/sbin/./health-check
[19.11.2016 10:25 ] ### The logfile used was
/var/tmp/check_for_missing_libs.sh.log
[19.11.2016 10:25 ] ### check_for_missing_libs.sh ended at
Sat Nov 19 10:25:50 CET 2016
[bernd@oc8260701612 /var/tmp/jwm/htdocs]$
-> these libaries should be in the lib directory in JWM /
Linux
Check for missing libraries in the JWM / Linux
environment
[bernd@oc8260701612
/var/tmp/jwm/htdocs]$
/var/tmp/jwm/compile_scripts/check_for_missing_libs.sh
../bin ../sbin
[19.11.2016 10:26 ] ### check_for_missing_libs.sh started
at Sat Nov 19 10:26:03 CET 2016
[19.11.2016 10:26 ] ### The logfile used is
/var/tmp/check_for_missing_libs.sh.log
[19.11.2016 10:26 ] The directories with additional
libraries are
:/var/tmp/jwm/lib
[19.11.2016 10:26 ] The list of directories to search for
files is:
../bin ../sbin
[19.11.2016 10:26 ] Searching files in the directory
"../bin" ...
[19.11.2016 10:26 ] 72 executable file(s) found in the
directory "../bin"
[19.11.2016 10:26 ] Checking the files in the directory
"../bin" ...
.
[19.11.2016 10:26 ] Searching files in the directory
"../sbin" ...
[19.11.2016 10:26 ] 42 executable files found in the
directory "../sbin"
[19.11.2016 10:26 ] Checking the files in the directory
"../sbin" ...
.
[19.11.2016 10:26 ] ERROR: Some libraries for
./fnotifystat are missing:
./fnotifystat: /lib64/libc.so.6: version `GLIBC_2.13' not
found (required by ./fnotifystat)
[19.11.2016 10:26 ] ERROR: Some libraries for
./health-check are missing:
./health-check: /lib64/libc.so.6: version `GLIBC_2.13' not
found (required by ./health-check)
[19.11.2016 10:26 ] ERROR: Binaries found with missing
libs are:
/var/tmp/jwm/sbin/./fnotifystat
/var/tmp/jwm/sbin/./health-check
[19.11.2016 10:26 ] ### The logfile used was
/var/tmp/check_for_missing_libs.sh.log
[19.11.2016 10:26 ] ### check_for_missing_libs.sh ended at
Sat Nov 19 10:26:09 CET 2016
[bernd@oc8260701612 /var/tmp/jwm/htdocs]$
To create a customized version of JWM / Linux just unpack the
tar archive; do your changes and create a new compressed tar
archive using the script
./create_archive.sh
included in the archive.
create_archive.sh deletes temporary files from JWM / Linux and
creates the new compressed tar archive in the directory with
the sub directory jwm, e.g:
[xtrnaw7@t540p
/var/tmp/jwm]$ ./create_archive.sh
JWM_DIR is "/var/tmp/jwm"
cp: omitting directory ‘./htdocs/cgi-bin’
Doing cleanup ...
Deleting the file(s) "data/darkstat/*" ...
Deleting the file(s) "workdir/*.log" ...
Deleting the file(s) "netdata/var/cache/netdata/*" ...
Deleting the file(s) "netdata/var/log/netdata/*" ...
Deleting the file(s) "netdata/var/run/*" ...
Deleting the file(s) "netdata.tar.gz" ...
Deleting the file(s) "busybox.tar.gz" ...
Creating the archive
"jwml_v227_Fedora_release_23_(Twenty_Three)_4.8.13-100.fc23.x86_64_x86_64_2016-12-29.tar.gz"
...
Archive
"jwml_v227_Fedora_release_23_(Twenty_Three)_4.8.13-100.fc23.x86_64_x86_64_2016-12-29.tar.gz"
created:
-rw-rw-r-- 1 xtrnaw7 xtrnaw7 2069292891 Dec 29 08:31
/var/tmp/jwml_v227_Fedora_release_23_(Twenty_Three)_4.8.13-100.fc23.x86_64_x86_64_2016-12-29.tar.gz
[xtrnaw7@t540p /var/tmp/jwm]$
Note:
I use
create_archive.sh to create the public version
of JWM / Linux . Therefor there is code in the script to copy
some files from/to the JWM directory:
# copy the HTML files from the develop script (note:
works on my notebook only; not used for distributed tar
archives /bs)
#
[ -r
/data/develop/jwm_linux/htdocs/JWM_Linux_documentation.html
] && cp /data/develop/jwm_linux/htdocs/* ./htdocs/
# copy the HTML file to my local copy of the Webserver
contentsn (note: works on my notebook only)
#
[ -r
/data/www/myhomepage/htdocs/linux/JWM_Linux_documentation.html
] && cp ./htdocs/*
/data/www/myhomepage/htdocs/linux/
You can ignore this code - it does nothing if the directories
used do not exist
To compile
justniffer with a boost staging
area do:
Download the source of the current version for boost from
http://www.boost.org/
Unpack the source directory using tar or unzip
Change to the directory with the boost source, e.g
cd /data/develop/boost_1_62_0
and execute these commands
./bootstrap (or ./bootstrap.sh)
./b2
Please note that these commands will take a long time.
Now you can compile justniffer using this boost staging are:
Change to the directory with the justniffer source and execute
export BOOST_ROOT=/data/develop/boost_1_62_0 ;
./configure --build="$( uname -i )"
(replace /data/develop/boost_1_62.0 with your boost staging
area)
If everything is fine there should now be a working justniffer
binary in the directory ./src. Be aware that this binary
requires some of the libraries from the boost staging area; to
get the list of these libraries use
ldd src/justniffer
e.g.
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ ldd
bin/justniffer | grep boost
libboost_regex.so.1.58.0 =>
/lib64/libboost_regex.so.1.58.0 (0x00007f8902c00000)
libboost_iostreams.so.1.58.0 =>
/lib64/libboost_iostreams.so.1.58.0 (0x00007f89029e7000)
libboost_program_options.so.1.58.0 =>
/lib64/libboost_program_options.so.1.58.0
(0x00007f8902770000)
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
You can also use the script
${JWM_DIR}/scripts/compile_justniffer_with_boost.sh
to bootstrap boost and compile justniffer.
Usage:
Download and unpack the boost source archive, change to the
source directory with justniffer and execute
${JWM_DIR}/scripts/compile_justniffer_with_boost.sh
[boost_staging_area]
e.g
cd /var/tmp/jwm/src/justniffer-0.5.15
/var/tmp/jwm/scripts/compile_justniffer_with_boost.sh
/data/develop/boost_1_62.0
Notes:
The script does the boost bootstrap only if not already done
for the boost staging area. If executed in a JWM / Linux
environment the script will copy the justniffier binary
created to ${JWM_DIR}/sbin and the required boost libraries to
${JWM_DIR}/lib.
If there are strange error messages while linking a tool try
to delete all
*.a files in the directory
${JWM_DIR}/lib;
do "
make clean" and afterwards a "
make" again.
If you get an error like "undefined reference to
clock_gettime" while compiling one of the tools use the
following workaround:
Change to the source directory for the tool and append
-lrt
to the
LDFLAGS entry in the make file.
Afterwards compile and install the tool using
make
make install
Or use
export LIBS=-lrt
./configure --prefix=${JWM_DIR}
make
make install
Error message example:
GENL_ID_GENERATE_undeclared
proto_nlmsg.c: In function ‘nlmsg_genl_type2str’:
proto_nlmsg.c:245:7: error: ‘GENL_ID_GENERATE’ undeclared
(first use in this function)
case GENL_ID_GENERATE: return "id gen";
^~~~~~~~~~~~~~~~
proto_nlmsg.c:245:7: note: each undeclared identifier is
reported only once for each function it appears in#
GENL_ID_GENERATE is defined in the file /usr/include/linux/genetlink.h
in current Linux versions. But it looks like it's missing in
some of the newer Linux versions.
To get arround this error add the statement
#define GENL_ID_GENERATE 0
to the file in which the definition is used.
In most cases their are additional error messages like
/opt/rh/devtoolset-7/root/usr/libexec/gcc/x86_64-redhat-linux/7/ld:
bmon-out_curses.o: undefined reference to symbol 'acs_map'
/opt/rh/devtoolset-7/root/usr/libexec/gcc/x86_64-redhat-linux/7/ld:
bvi.o: undefined reference to symbol 'keypad'
To get around this error you must explicitly link the
libtinfo library
For most tools this can be done with the commands
export LDFLAGS="-ltinfo"
./configure ${CONFIGURE_PARMS}
But not all tools are using configure to configure the
LDFLAGS . In this case you must check the Makefile for
the variable with the LDFLAGS. This can be CFLAGS
or any other variable (see the compile scripts in the
directory compile_scripts in JWM for examples)
In most cases this means that the compiler used is to old
Use
gcc --version
to check the compiler version, e.g.:
[xtrnaw7@centos69 compile_scripts]$ gcc
--version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
Copyright (C) 2010 Free Software Foundation,
Inc.
This is free software; see the source for
copying conditions. There is NO
warranty; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.
Install and use new version of gcc to fix the error
(see also Required GCC
version)
Sample error messages are
photosyst.c:1465:19: error: called object ‘major’ is
not a function or function pointer
dmp->major =
major(statbuf.st_rdev);
^~~~~
photosyst.c:1420:25: note: declared here
lvmmapname(unsigned int major, unsigned
int minor,
~~~~~~~~~~~~~^~~~~
photosyst.c:1466:19: error: called object
‘minor’ is not a function or function pointer
dmp->minor =
minor(statbuf.st_rdev);
major, minor, and makedev are macros
defined in the file <sys/sysmacros.h>.
This include file was formerly included in <sys/types.h>.
But that include was removed in newer versions of glibc.
So for programs using the macros from that file the
additional include
#include <sys/sysmacros.h>
is required.
Notes:
In some versions of types.h the file sysmacro.h is still
included like this
/* BSD defines `major', `minor', and `makedev' in
this header.
However, these symbols are likely
to collide with user code, so we are
going to stop defining them here
in an upcoming release. Code that needs
these macros should include
<sys/sysmacros.h> directly. Code that does
not need these macros should
#undef them after including this header. */
# define __SYSMACROS_DEPRECATED_INCLUSION
# include <sys/sysmacros.h>
# undef __SYSMACROS_DEPRECATED_INCLUSION
For an explanation why the include was removed see here: https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html
This error message means that the library libtinfo.so.5
from JWM Linux does not match the ncurses library of your
Linux distribution.
To get around this error just unset the LD_LIBRARY_PATH
if in a JWM Linux session, e.g.:
[JWM session] [root@beod21 jwm]# bin/atop -V
bin/atop: symbol lookup error:
/lib64/libncurses.so.5: undefined symbol: _nc_putchar
[JWM session] [root@beod21 jwm]#
[JWM session] [root@beod21 jwm]# ldd bin/atop
linux-vdso.so.1 => (0x00007ffcb959f000)
libncurses.so.5 => /lib64/libncurses.so.5
(0x00007f09b7d71000)
libz.so.1 => /lib64/libz.so.1 (0x00007f09b7b5b000)
libm.so.6 => /lib64/libm.so.6 (0x00007f09b7859000)
librt.so.1 => /lib64/librt.so.1 (0x00007f09b7651000)
libtinfo.so.5 =>
/opt/LinuxTools/jwm/lib/libtinfo.so.5
(0x00007f09b7430000)
libc.so.6 => /lib64/libc.so.6 (0x00007f09b7063000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f09b6e5f000)
/lib64/ld-linux-x86-64.so.2 (0x00007f09b7f98000)
libpthread.so.0 => /lib64/libpthread.so.0
(0x00007f09b6c43000)
[JWM session] [root@beod21 jwm]#
[JWM session] [root@beod21 jwm]# LD_LIBRARY_PATH=
bin/atop -V
Version: 2.3.0 - 2017/03/25
09:59:59
<gerlof.langeveld@atoptool.nl>
[JWM session] [root@beod21 jwm]#
[JWM session] [root@beod21 jwm]# LD_LIBRARY_PATH=
ldd bin/atop
linux-vdso.so.1 => (0x00007ffc155dc000)
libncurses.so.5 => /lib64/libncurses.so.5
(0x00007f2c95e7f000)
libz.so.1 => /lib64/libz.so.1 (0x00007f2c95c69000)
libm.so.6 => /lib64/libm.so.6 (0x00007f2c95967000)
librt.so.1 => /lib64/librt.so.1 (0x00007f2c9575f000)
libtinfo.so.5 => /lib64/libtinfo.so.5
(0x00007f2c95535000)
libc.so.6 => /lib64/libc.so.6 (0x00007f2c95168000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f2c94f64000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2c960a6000)
libpthread.so.0 => /lib64/libpthread.so.0
(0x00007f2c94d48000)
[JWM session] [root@beod21 jwm]#
For a final solution just replace the file libtinfo.so.5
in the lib directory of JWM / Linux with the libtinfo.so.5
from the running Linux installation.
Error message like this are created by
gcc 10.x for a
lot of "old" tools
The reason for this error is:
"Previous versions of gcc were more lenient about multiple
definitions of uninitialised global variables. In the latest
gcc, they changed the default of -fcommon to -fno-common,
which does not allow such duplicates.
To be honest, I'd always assumed that it worked the way
-fno-common does, so I was kind of surprised to find out
that gcc actually tolerated multiple definitions in the
first place and that this has become an issue.
Header guards usually only protect declarations, not
definitions (which will normally be in the .c file, not the
header)"
Source:
https://www.linuxquestions.org/questions/programming-9/multiple-definition-errors-when-linking-on-arch-using-gcc-10-1-0-a-4175675444/
To fix the error add the option
-fcommon to the
parameter for gcc, e.g.:
export CFLAGS="${CFLAGS} -fcommon "
The library
libtinfo.so is part of the ncurses
package. If ncurses is installed but the library does not
exist you do (at least in Slackware):
ln -s
/usr/lib64/libncurses.so /usr/lib64/libtinfo.so
(see
https://www.linuxquestions.org/questions/slackware-14/missing-libtinfo-so-5-on-14-2b-4175568815/)
"Your compiler is not supporting C++11. The
emplace_back
member function of
std::vector<T> has
been added since C++11, as
you can see.
Depending on your compiler version, you probably just
need some flags to tell the compiler to turn on C++11
features. You can do that on GCC and Clang with:
-std=c++11 -stdlib=libc++
Otherwise you might need to update your compiler
version to a more recent one."
Source: https://stackoverflow.com/questions/19789353/c-compiler-class-stdvectorstdvectorchar-has-no-member-named-empla
Note:
The parameter -stdlib is not supported by
some gcc versions - in this case the parameter -std=c++11
is sufficient
These kind of error may occur if trying to compile an older
tool with a new version of gcc (version 11 or newer).
The reason for these errors is described here
https://developers.redhat.com/articles/2021/08/06/porting-your-code-c17-gcc-11:
"The GNU Compiler Collection
(GCC), which is the standard compiler on GNU/Linux
distributions such as Fedora and Red Hat
Enterprise Linux, moved from version 14 to version
17 of C++ in April 2021. Thus, the -std=gnu++17
command-line option is now used by default."
To get around that error use the compiler parameter -std=gnu++11.
E.g.
./configure ${CONFIGURE_PARMS} CXXFLAGS="-std=gnu++11"
To fix errors like these:
/usr/bin/ld: ./.libs/libiperf.so: undefined reference
to `__atomic_load_8'
/usr/bin/ld: ./.libs/libiperf.so: undefined
reference to `__atomic_store_8'
/usr/bin/ld: ./.libs/libiperf.so: undefined
reference to `__atomic_fetch_add_8'
add the linker option
-latomic ,
e.g:
LDFLAGS="${LDFLAGS} -latomic"
Add the linker option
-lzstd, e.g.:
LDFLAGS="${LDFLAGS} -lzstd"
To fix errors like these
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld:
/home/abuild/rpmbuild/BUILD/binutils-2.41/build-dir/bfd/../../bfd/elf-sframe.c:397:(.text+0x5bb):
undefined reference to `sframe_encoder_get_abi_arch'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld:
/home/abuild/rpmbuild/BUILD/binutils-2.41/build-dir/bfd/../../bfd/elf-sframe.c:406:(.text+0x5f9):
undefined reference to `sframe_decoder_get_version'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld:
/home/abuild/rpmbuild/BUILD/binutils-2.41/build-dir/bfd/../../bfd/elf-sframe.c:422:(.text+0x625):
undefined reference to `sframe_decoder_get_num_fidx'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld:
/home/abuild/rpmbuild/BUILD/binutils-2.41/build-dir/bfd/../../bfd/elf-sframe.c:437:(.text+0x708):
undefined reference to `sframe_decoder_get_funcdesc_v2'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld:
/home/abuild/rpmbuild/BUILD/binutils-2.41/build-dir/bfd/../../bfd/elf-sframe.c:468:(.text+0x77a):
undefined reference to `sframe_decoder_get_hdr_size'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld:
/home/abuild/rpmbuild/BUILD/binutils-2.41/build-dir/bfd/../../bfd/elf-sframe.c:504:(.text+0x840):
undefined reference to `sframe_decoder_get_fre'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld:
/home/abuild/rpmbuild/BUILD/binutils-2.41/build-dir/bfd/../../bfd/elf-sframe.c:359:(.text+0x8a9):
undefined reference to
`sframe_decoder_get_fixed_fp_offset'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld:
/home/abuild/rpmbuild/BUILD/binutils-2.41/build-dir/bfd/../../bfd/elf-sframe.c:360:(.text+0x8ba):
undefined reference to
`sframe_decoder_get_fixed_ra_offset'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld:
/home/abuild/rpmbuild/BUILD/binutils-2.41/build-dir/bfd/../../bfd/elf-sframe.c:366:(.text+0x8e0):
undefined reference to `sframe_encode'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld:
/home/abuild/rpmbuild/BUILD/binutils-2.41/build-dir/bfd/../../bfd/elf-sframe.c:514:(.text+0x936):
undefined reference to `sframe_decoder_free'
Add the linker option
-lsframe, e.g.:
LDFLAGS="${LDFLAGS} -lsframe"
For some network tests it's necessary to have the same tool
available on the other machine. Therefor I added the binaries
for
iperf and netcat for AIX
and Solaris (SPARC and x86) to the JWM / Linux archive
The tools are in the directory
${JWM_DIR}/other_os:
[as of 03.10.2018]
Tools for other OS
[xtrnaw7@t540p /var/tmp/jwm/other_os]$ ls -ltr
total 2072
-rwxr-xr-x 1 xtrnaw7 xtrnaw7 120982 Oct 3
14:17 iperf_for_AIX
-rwxr-xr-x 1 xtrnaw7 xtrnaw7 41302
Oct 3 14:17 netcat_for_AIX
-rwxr-xr-x 1 xtrnaw7 xtrnaw7 75716
Oct 3 14:18 iperf_for_Solaris_x86
-rwxr-xr-x 1 xtrnaw7 xtrnaw7 94220
Oct 3 14:19 iperf.sol10_for_SPARC
-rwxr-xr-x 1 xtrnaw7 xtrnaw7 87755
Oct 3 14:19 iperf.sol9_for_SPARC
-rwxr-xr-x 1 xtrnaw7 xtrnaw7 26820
Oct 3 14:19 netcat_for_Solaris_SPARC
-rwxr-xr-x 1 xtrnaw7 xtrnaw7 32808
Oct 3 14:19 netcat_for_Solaris_x86
lrwxrwxrwx 1 xtrnaw7
xtrnaw7 17 Oct 3 15:01 netio
-> ../src/netio/bin/
-rwxr-xr-x 1 xtrnaw7 xtrnaw7 115876 Oct 3
15:02 netperf_for_Solaris_x86
-rwxr-xr-x 1 xtrnaw7 xtrnaw7 477600 Oct 3
15:03 netperf_for_Solaris_SPARC
-rwxr-xr-x 1 xtrnaw7 xtrnaw7 198658 Oct 3
15:08 netperf_for_AIX
-rwxr-xr-x 1 xtrnaw7 xtrnaw7 208062 Oct 3
15:08 netserver_for_AIX
-rwxr-xr-x 1 xtrnaw7 xtrnaw7 490212 Oct 3
15:09 netserver_for_Solaris_SPARC
-rwxr-xr-x 1 xtrnaw7 xtrnaw7 121284 Oct 3
15:09 netserver_for_Solaris_x86
[xtrnaw7@t540p /var/tmp/jwm/other_os]$ file *
iperf_for_AIX:
executable (RISC System/6000 V3.1) or obj module
iperf_for_Solaris_x86:
ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked, interpreter /usr/lib/ld.so.1, stripped
iperf.sol10_for_SPARC:
ELF 32-bit MSB executable, SPARC, version 1 (SYSV),
dynamically linked, interpreter /usr/lib/ld.so.1, not
stripped
iperf.sol9_for_SPARC:
ELF 32-bit MSB executable, SPARC, version 1 (SYSV),
dynamically linked, interpreter /usr/lib/ld.so.1, not
stripped
netcat_for_AIX:
executable (RISC System/6000 V3.1) or obj module
netcat_for_Solaris_SPARC: ELF
32-bit MSB executable, SPARC, version 1 (SYSV),
dynamically linked, interpreter /usr/lib/ld.so.1, stripped
netcat_for_Solaris_x86:
ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked, interpreter /usr/lib/ld.so.1, not
stripped
netio:
symbolic link to ../src/netio/bin/
netperf_for_AIX:
executable (RISC System/6000 V3.1) or obj module
netperf_for_Solaris_SPARC: ELF
32-bit MSB executable, SPARC, version 1 (SYSV),
dynamically linked, interpreter /usr/lib/ld.so.1, with
debug_info, not stripped
netperf_for_Solaris_x86:
ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked, interpreter /usr/lib/ld.so.1, stripped
netserver_for_AIX:
executable (RISC System/6000 V3.1) or obj module
netserver_for_Solaris_SPARC: ELF 32-bit MSB
executable, SPARC, version 1 (SYSV), dynamically linked,
interpreter /usr/lib/ld.so.1, with debug_info, not
stripped
netserver_for_Solaris_x86: ELF
32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked, interpreter /usr/lib/ld.so.1, stripped
[xtrnaw7@t540p /var/tmp/jwm/other_os]$
This section contains some hints and docs for performance or
monitoring tools that are already part of most Linux
installations.
Source:
http://www.slideshare.net/brendangregg/linux-performance-analysis-new-tools-and-old-secrets
Static tracing of a trace point
[root@t540p tracing]# cd /sys/kernel/debug/tracing/
[root@t540p tracing]# echo 1
>events/block/block_rq_insert/enable
[root@t540p tracing]# cat trace_pipe
kworker/7:2-4043 [007]
d... 5604.169528: block_rq_insert: 0,0 R 8 (4a 01 00
00 10 00 00 00 08 00) 0 + 0 [kworker/7:2]
kworker/7:2-4043 [007]
d... 5606.220093: block_rq_insert: 0,0 R 8 (4a 01 00
00 10 00 00 00 08 00) 0 + 0 [kworker/7:2]
kworker/4:0-30144 [004]
d... 5606.732733: block_rq_insert: 8,0 WS 0 ()
51814224 + 8 [kworker/4:0]
kworker/4:0-30144 [004]
d... 5606.732749: block_rq_insert: 8,0 WS 0 ()
51814232 + 8 [kworker/4:0]
kworker/4:0-30144 [004]
d... 5606.732756: block_rq_insert: 8,0 WS 0 ()
51814240 + 8 [kworker/4:0]
kworker/4:0-30144 [004]
d... 5606.732763: block_rq_insert: 8,0 WS 0 ()
51814248 + 8 [kworker/4:0]
kworker/4:0-30144 [004]
d... 5606.732770: block_rq_insert: 8,0 WS 0 ()
51814256 + 8 [kworker/4:0]
kworker/4:0-30144 [004]
d... 5606.732776: block_rq_insert: 8,0 WS 0 ()
51814264 + 8 [kworker/4:0]
...
kworker/2:2-3902 [002]
d... 5824.004721: block_rq_insert: 8,0 WS 0 ()
51819152 + 8 [kworker/2:2]
kworker/2:2-3902 [002]
d... 5824.004728: block_rq_insert: 8,0 WS 0 ()
51819160 + 8 [kworker/2:2]
jbd2/dm-1-8-30090 [000]
d... 5824.005462: block_rq_insert: 8,0 FWS 0 () 0 +
0 [jbd2/dm-1-8]
kworker/0:1-5567 [000]
d... 5824.020757: block_rq_insert: 8,0 WFS 0 ()
51819168 + 8 [kworker/0:1]
^C
[root@t540p tracing]# echo 0
>events/block/block_rq_insert/enable
[root@t540p tracing]#
Dynamic function tracing
[root@t540p tracing]# cd /sys/kernel/debug/tracing/
[root@t540p tracing]# echo tcp_retransmit_skb
>set_ftrace_filter
[root@t540p tracing]# echo function > current_tracer
[root@t540p tracing]# more trace_pipe
<idle>-0 [005] ..s.
6151.862706: tcp_retransmit_skb <-tcp_retransmit_timer
<idle>-0 [005] ..s.
6153.668904: tcp_retransmit_skb <-tcp_retransmit_timer
<idle>-0 [005] ..s.
6157.281293: tcp_retransmit_skb <-tcp_retransmit_timer
[root@t540p tracing]# echo nop >current_tracer
[root@t540p tracing]# ehco >set_ftrace_filter
bash: ehco: command not found...
Similar command is: 'echo'
[root@t540p tracing]# echo >set_ftrace_filter
[root@t540p tracing]#
List available tracer for dynamic tracing:
[root@t540p tracing]# pwd
/sys/kernel/debug/tracing
[root@t540p tracing]# cat available_tracers
blk function_graph wakeup_dl wakeup_rt wakeup function nop
[root@t540p tracing]#
This feature is also available for events (cat
available_events) and filter functions ( cat
available_filter_functions )
For a short intro in the tracing features see
/sys/kernel/debug/tracing/README:
tracing mini-HOWTO:
# echo 0 > tracing_on : quick way to disable tracing
# echo 1 > tracing_on : quick way to re-enable tracing
Important files:
trace
- The static contents of the buffer
To clear the buffer write into this file: echo > trace
trace_pipe
- A consuming read to see the contents of the buffer
current_tracer
- function and latency tracers
available_tracers
- list of configured tracers for current_tracer
buffer_size_kb
- view and modify size of per cpu buffer
buffer_total_size_kb
- view total size of all cpu buffers
trace_clock
-change the clock used to order events
local:
Per cpu clock but may not be synced across CPUs
global: Synced
across CPUs but slows tracing down.
counter: Not a clock,
but just an increment
uptime: Jiffy
counter from time of boot
perf: Same clock that perf events use
x86-tsc: TSC cycle
counter
trace_marker
- Writes into this file writes into the kernel buffer
tracing_cpumask
- Limit which CPUs to trace
instances
- Make sub-buffers with: mkdir instances/foo
Remove sub-buffer with rmdir
trace_options
- Set format or modify how tracing happens
Disable an option by adding a suffix 'no' to the
option name
saved_cmdlines_size - echo
command number in here to store comm-pid list
available_filter_functions - list of functions that
can be filtered on
set_ftrace_filter
- echo function name in here to only trace these functions
accepts: func_full_name, *func_end, func_begin*,
*func_middle*
modules: Can select a group via module
Format: :mod:<module-name>
example: echo :mod:ext3 > set_ftrace_filter
triggers: a command to perform when function is hit
Format: <function>:<trigger>[:count]
trigger: traceon, traceoff
enable_event:<system>:<event>
disable_event:<system>:<event>
stacktrace
snapshot
dump
cpudump
example: echo do_fault:traceoff > set_ftrace_filter
echo do_trap:traceoff:3 > set_ftrace_filter
The first one will disable tracing every time do_fault is
hit
The second will disable tracing at most 3 times when
do_trap is hit
The first time do trap is hit and it disables tracing, the
counter will decrement to 2. If tracing is already
disabled,
the counter will not decrement. It only decrements when
the
trigger did work
To remove trigger without count:
echo '!<function>:<trigger> >
set_ftrace_filter
To remove trigger with a count:
echo '!<function>:<trigger>:0 >
set_ftrace_filter
set_ftrace_notrace
- echo function name in here to never trace.
accepts: func_full_name, *func_end, func_begin*,
*func_middle*
modules: Can select a group via module command :mod:
Does not accept triggers
set_ftrace_pid
- Write pid(s) to only function trace those pids
(function)
set_graph_function
- Trace the nested calls of a function (function_graph)
set_graph_notrace
- Do not trace the nested calls of a function
(function_graph)
max_graph_depth
- Trace a limited depth of nested calls (0 is unlimited)
snapshot
- Like 'trace' but shows the content of the static
snapshot buffer. Read the contents for more information
stack_trace
- Shows the max stack trace when active
stack_max_size
- Shows current max stack size that was traced
Write into this file to reset the max size (trigger a new
trace)
stack_trace_filter
- Like set_ftrace_filter but limits what stack_trace
traces
events/
- Directory containing all trace event subsystems:
enable
- Write 0/1 to enable/disable tracing of all events
events/<system>/
- Directory containing all trace events for
<system>:
enable
- Write 0/1 to enable/disable tracing of all
<system> events
filter
- If set, only events passing filter are traced
events/<system>/<event>/ -
Directory containing control files for <event>:
enable
- Write 0/1 to enable/disable tracing of <event>
filter
- If set, only events passing filter are traced
trigger
- If set, a command to perform when event is hit
Format: <trigger>[:count][if <filter>]
trigger: traceon, traceoff
enable_event:<system>:<event>
disable_event:<system>:<event>
stacktrace
snapshot
example: echo traceoff >
events/block/block_unplug/trigger
echo traceoff:3 > events/block/block_unplug/trigger
echo 'enable_event:kmem:kmalloc:3 if nr_rq > 1' > \
events/block/block_unplug/trigger
The first disables tracing every time block_unplug is hit.
The second disables tracing the first 3 times block_unplug
is hit.
The third enables the kmalloc event the first 3 times
block_unplug
is hit and has value of greater than 1 for the 'nr_rq'
event field.
Like function triggers, the counter is only decremented if
it
enabled or disabled tracing.
To remove a trigger without a count:
echo '!<trigger> >
<system>/<event>/trigger
To remove a trigger with a count:
echo '!<trigger>:0 >
<system>/<event>/trigger
Filters can be ignored when removing a trigger.
see also
https://lwn.net/Articles/365835/
Debugging the kernel using Ftrace - part 1
https://lwn.net/Articles/366796/
Debugging the kernel using Ftrace - part 2
https://lwn.net/Articles/410200/
trace-cmd: A front-end for Ftrace
https://jvns.ca/blog/2017/03/19/getting-started-with-ftrace/
ftrace: trace your
kernel functions!
You may use the Linux binary
nmcli to view the WLAN
status:
nmcli dev wifi
e.g
Sample output
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ time
compile_scripts/make_tools.sh
JWM_DIR is "/var/tmp/jwm"
... no general errors found.
All packages will be compiled in this distribution.
[25.10.2016 14:01:15] execute_scripts.sh v1.0.1 started at
Tue Oct 25 14:01:15 CEST 2016.
[25.10.2016 14:01:15] No config file
("execute_scripts.conf") found (use -C to create a default
config file)
[25.10.2016 14:01:15] Using the log file
"/var/tmp/execute_scripts.LOG"
[25.10.2016 14:01:15]
[25.10.2016 14:01:15] Will process 56 executable(s).
(Parameter -I and/or -i)
[25.10.2016 14:01:15] Duplicates are NOT
removed from the list of executables (Parameter -r to
change)
[25.10.2016 14:01:15] Using the start script
"/var/tmp/jwm/compile_scripts/start_compiling.sh"
(Parameter -s)
[25.10.2016 14:01:15] Using the stop script
"/var/tmp/jwm/compile_scripts/check_compile_status.sh"
(Parameter -z)
[25.10.2016 14:01:15] The working directory is
"/var/tmp/jwm/workdir/". (Parameter -o)
[25.10.2016 14:01:15] Start and stop comment lines will be
added to the logfiles (Parameter -k to change)
[25.10.2016 14:01:15]
[25.10.2016 14:01:15] The executables will run parallel in
the background (Parameter -d)
[25.10.2016 14:01:15]
[25.10.2016 14:01:15] The maximum number of parallel
background processes is -1 (Parameter -w -1,x,x -1 = not
limited).
[25.10.2016 14:01:15] The wait intervall for
starting the background processes is 5 second(s)
(Parameter -w x,5s,x);
[25.10.2016 14:01:15] the timeout for starting
the background processes is 300 second(s) (Parameter -w
x,x,5m -1 = not limited).
[25.10.2016 14:01:15]
[25.10.2016 14:01:15] Waiting up to 7200 second(s) for the
background processes to finish (Parameter -W 2h,x, -1 =
not limited).
[25.10.2016 14:01:15] The wait intervall for
waiting for the background processes to finish is 30
second(s) (Parameter -W x,30 )
[25.10.2016 14:01:15]
[25.10.2016 14:01:15] The logfiles of the executables will
not be printed after the executable finished (Parameter -D
no_of_logfile_lines=0)
*** Enter <l><return> to list the executables
to execute, <x> to list the regex for executables
not to execute, <p> to view the script parameter
*** <y><return> to start or
<n><return> to abort. Default is
<n>: y
[25.10.2016 14:01:20] Starting processing ...
[25.10.2016 14:01:20] Executing the start script
"/var/tmp/jwm/compile_scripts/start_compiling.sh"
...
JWM_DIR is "/var/tmp/jwm"
Executing "compile_libpcap" now ...
Executing "compile_libprotobuf" now ...
Copying the OS libraries listed in the file
"/var/tmp/jwm/compile_scripts/OS_LIBS" ...
Deleting existing versions of "libtinfo" ...
Searching the library "libtinfo" ...
library found in the directory "/lib64"
. Now copying the library to the JWM / Linux library
directory ...
/var/tmp/jwm/lib/./libtinfo.so.5
/var/tmp/jwm/lib/./libtinfo.so
/var/tmp/jwm/lib/./libtinfo.so.5.9
336 blocks
Deleting existing versions of "libnuma" ...
Searching the library "libnuma" ...
library found in the directory "/lib64"
. Now copying the library to the JWM / Linux library
directory ...
/var/tmp/jwm/lib/./libnuma.so.1
/var/tmp/jwm/lib/./libnuma.so
/var/tmp/jwm/lib/./libnuma.so.1.0.0
91 blocks
Deleting existing versions of "liblua" ...
Searching the library "liblua" ...
library found in the directory "/lib64"
. Now copying the library to the JWM / Linux library
directory ...
/var/tmp/jwm/lib/./liblua-5.2.so
/var/tmp/jwm/lib/./liblua-5.3.so
/var/tmp/jwm/lib/./liblua.so
886 blocks
Deleting existing versions of "libnl" ...
Searching the library "libnl" ...
[25.10.2016 14:03:16] Number of running
processes are: 0
[25.10.2016 14:03:16] ---- Processing the
executable
"/var/tmp/jwm/compile_scripts/compile_IntelPerformanceCounterMonitor.sh"
... ( 1 from 56; 0 already started)
[25.10.2016 14:03:16] The log file
is
"/var/tmp/jwm/workdir//compile_IntelPerformanceCounterMonitor.sh.16370.log"
[25.10.2016 14:03:16] Number of running
processes are: 1
[25.10.2016 14:03:16] ---- Processing the
executable "/var/tmp/jwm/compile_scripts/compile_atop.sh"
... ( 2 from 56; 1 already started)
[25.10.2016 14:03:16] The log file
is "/var/tmp/jwm/workdir//compile_atop.sh.16370.log"
[25.10.2016 14:03:16] Number of running
processes are: 2
[25.10.2016 14:03:16] ---- Processing the
executable
"/var/tmp/jwm/compile_scripts/compile_bonnie++.sh" ... ( 3
from 56; 2 already started)
[25.10.2016 14:03:16] The log file
is
"/var/tmp/jwm/workdir//compile_bonnie++.sh.16370.log"
[25.10.2016 14:03:16] Number of running
processes are: 3
[25.10.2016 14:03:16] ---- Processing the
executable
"/var/tmp/jwm/compile_scripts/compile_busybox.sh" ... ( 4
from 56; 3 already started)
[25.10.2016 14:03:16] The log file
is
"/var/tmp/jwm/workdir//compile_busybox.sh.16370.log"
[25.10.2016 14:03:16] Number of running
processes are: 4
[25.10.2016 14:03:16] ---- Processing the
executable "/var/tmp/jwm/compile_scripts/compile_bvi.sh"
... ( 5 from 56; 4 already started)
[25.10.2016 14:03:16] The log file
is "/var/tmp/jwm/workdir//compile_bvi.sh.16370.log"
[25.10.2016 14:03:16] Number of running
processes are: 5
[25.10.2016 14:03:16] ---- Processing the
executable
"/var/tmp/jwm/compile_scripts/compile_bwm_ng.sh" ... ( 6
from 56; 5 already started)
[25.10.2016 14:03:16] The log file
is
"/var/tmp/jwm/workdir//compile_bwm_ng.sh.16370.log"
[25.10.2016 14:03:16] Number of running
processes are: 6
....
[25.10.2016 14:03:23] Number of running
processes are: 39
[25.10.2016 14:03:23] ---- Processing the
executable
"/var/tmp/jwm/compile_scripts/compile_tiptop.sh" ... ( 55
from 56; 54 already started)
[25.10.2016 14:03:23] The log file
is
"/var/tmp/jwm/workdir//compile_tiptop.sh.16370.log"
[25.10.2016 14:03:23] Number of running
processes are: 40
[25.10.2016 14:03:23] ---- Processing the
executable
"/var/tmp/jwm/compile_scripts/compile_tracebox.sh" ... (
56 from 56; 55 already started)
[25.10.2016 14:03:23] The log file
is
"/var/tmp/jwm/workdir//compile_tracebox.sh.16370.log"
[25.10.2016 14:03:23] The loop to start the 56 background
processes ended at Tue Oct 25 14:03:23 CEST 2016, the
runtime is 0:00:00.
[25.10.2016 14:03:23]
[25.10.2016 14:03:23] Starting the loop to wait for the
background processes at Tue Oct 25 14:03:23 CEST 2016 ...
[25.10.2016 14:03:23] Waiting up to 7200
seconds for the background processes to finish ...
[25.10.2016 14:03:24] Process
"4728" for
/var/tmp/jwm/compile_scripts/compile_tracebox.sh is still
running
[25.10.2016 14:03:24]
The log file is
"/var/tmp/jwm/workdir//compile_tracebox.sh.16370.log"
[25.10.2016 14:03:24] Process
"4363" for /var/tmp/jwm/compile_scripts/compile_tiptop.sh
is still running
...
[25.10.2016 14:04:07] Process
"26174" for
/var/tmp/jwm/compile_scripts/compile_bonnie++.sh finished
[25.10.2016 14:04:07]
The log file is
"/var/tmp/jwm/workdir//compile_bonnie++.sh.16370.log"
[25.10.2016 14:04:07] Process
"26068" for
/var/tmp/jwm/compile_scripts/compile_IntelPerformanceCounterMonitor.sh
is still running
[25.10.2016 14:04:07]
The log file is
"/var/tmp/jwm/workdir//compile_IntelPerformanceCounterMonitor.sh.16370.log"
[25.10.2016 14:04:07] 11 background processes
(from 56) are still running
[25.10.2016 14:04:07] Waiting for 30 second(s)
now (total wait time until now: 30 seconds; max. timeout
is 7200 seconds ; remaining wait time is 7170 seconds) ...
[25.10.2016 14:04:37] Process
"4728" for
/var/tmp/jwm/compile_scripts/compile_tracebox.sh is still
running
[25.10.2016 14:04:37]
The log file is
"/var/tmp/jwm/workdir//compile_tracebox.sh.16370.log"
...
[25.10.2016 14:05:08] Waiting for 30 second(s)
now (total wait time until now: 90 seconds; max. timeout
is 7200 seconds ; remaining wait time is 7110 seconds) ...
[25.10.2016 14:05:38] Process
"32720" for
/var/tmp/jwm/compile_scripts/compile_oprofile.sh finished
[25.10.2016 14:05:38]
The log file is
"/var/tmp/jwm/workdir//compile_oprofile.sh.16370.log"
[25.10.2016 14:05:38] Process
"32038" for /var/tmp/jwm/compile_scripts/compile_nmap.sh
finished
[25.10.2016 14:05:38]
The log file is
"/var/tmp/jwm/workdir//compile_nmap.sh.16370.log"
[25.10.2016 14:05:38] The loop to wait for the background
processes ended at Tue Oct 25 14:05:38 CEST 2016, the
runtime is 0:02:00.
[25.10.2016 14:05:38]
[25.10.2016 14:05:38] Executing the stop script
"/var/tmp/jwm/compile_scripts/check_compile_status.sh"
...
JWM_DIR is "/var/tmp/jwm"
[check_compile_status.sh] The compile status is:
Tool
Compile status (newest)
Logfile
compile script
---------------------------------------------------------------------------------------------------------------------------------------------------------------
atop
compiled Size:
2311, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_atop.sh.16370.log
./compile_atop.sh
bonnie++
compiled Size:
4417, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_bonnie++.sh.16370.log
./compile_bonnie++.sh
busybox
compiled Size:
212273, Date: Oct 25 14:04, Name:
/var/tmp/jwm/workdir/compile_busybox.sh.16370.log
./compile_busybox.sh
bvi
compiled Size:
1642, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_bvi.sh.16370.log
./compile_bvi.sh
bwm_ng
compiled Size:
7796, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_bwm_ng.sh.16370.log
./compile_bwm_ng.sh
cdpr
compiled Size:
791, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_cdpr.sh.16370.log
./compile_cdpr.sh
cpulimit
compiled Size:
590, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_cpulimit.sh.16370.log
./compile_cpulimit.sh
cpumon
compiled Size:
1054, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_cpumon.sh.16370.log
./compile_cpumon.sh
darkstat
compiled Size:
3986, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_darkstat.sh.16370.log
./compile_darkstat.sh
dhtest
compiled Size:
1654, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_dhtest.sh.16370.log
./compile_dhtest.sh
dmidecode
compiled Size:
2276, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_dmidecode.sh.16370.log
./compile_dmidecode.sh
dstat
compiled Size:
499, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_dstat.sh.16370.log
./compile_dstat.sh
fio
compiled Size:
11177, Date: Oct 25 14:04, Name:
/var/tmp/jwm/workdir/compile_fio.sh.16370.log
./compile_fio.sh
fspy
compiled Size:
2999, Date: Oct 25 14:03,
Name:jwml_v226_Fedora_release_23_(Twenty_Three)_4.7.7-100.fc23.x86_64_x86_64_2016-10-26.tar.gz
/var/tmp/jwm/workdir/compile_fspy.sh.16370.log
./compile_fspy.sh
hdperf
compiled Size:
595, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_hdperf.sh.16370.log
./compile_hdperf.sh
hostscope
compiled Size:
7595, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_hostscope.sh.16370.log
./compile_hostscope.sh
hping2
compiled Size:
8893, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_hping2.sh.16370.log
./compile_hping2.sh
htop
compiled Size:
22957, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_htop.sh.16370.log
./compile_htop.sh
ibmonitor
compiled Size:
517, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_ibmonitor.sh.16370.log
./compile_ibmonitor.sh
ifstat
compiled Size:
2802, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_ifstat.sh.16370.log
./compile_ifstat.sh
iftop
compiled Size:
10010, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_iftop.sh.16370.log
./compile_iftop.sh
inotify
compiled Size:
16141, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_inotify.sh.16370.log
./compile_inotify.sh
IntelPerformanceCounterMonitor
compiled Size:
4052, Date: Oct 25 14:04, Name:
/var/tmp/jwm/workdir/compile_IntelPerformanceCounterMonitor.sh.16370.log
./compile_IntelPerformanceCounterMonitor.sh
iozone
compiled Size:
10632, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_iozone.sh.16370.log
./compile_iozone.sh
ipaudit
compiled Size:
7557, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_ipaudit.sh.16370.log
./compile_ipaudit.sh
ipband
compiled Size:
6636, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_ipband.sh.16370.log
./compile_ipband.sh
iperf
compiled Size:
18074, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_iperf.sh.16370.log
./compile_iperf.sh
iptraf
compiled Size:
31045, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_iptraf.sh.16370.log
./compile_iptraf.sh
jnet
compiled Size:
18193, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_jnet.sh.16370.log
./compile_jnet.sh
latencytop
compiled Size:
3201, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_latencytop.sh.16370.log
./compile_latencytop.sh
monit
compiled Size:
92893, Date: Oct 25 14:04, Name:
/var/tmp/jwm/workdir/compile_monit.sh.16370.log
./compile_monit.sh
mtr
compiled Size:
8200, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_mtr.sh.16370.log
./compile_mtr.sh
netdata
compiled Size:
67993, Date: Oct 25 14:04, Name:
/var/tmp/jwm/workdir/compile_netdata.sh.16370.log
./compile_netdata.sh
nethogs
compiled Size:
2603, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_nethogs.sh.16370.log
./compile_nethogs.sh
netio
compiled Size:
3286, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_netio.sh.16370.log
./compile_netio.sh
netperf
compiled Size:
8568, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_netperf.sh.16370.log
./compile_netperf.sh
ngrep
compiled Size:
6155, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_ngrep.sh.16370.log
./compile_ngrep.sh
nicstat
compiled Size:
1073, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_nicstat.sh.16370.log
./compile_nicstat.sh
nload
compiled Size:
11010, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_nload.sh.16370.log
./compile_nload.sh
nmap
compiled Size:
119781, Date: Oct 25 14:05, Name:
/var/tmp/jwm/workdir/compile_nmap.sh.16370.log
./compile_nmap.sh
nmon
compiled Size:
588, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_nmon.sh.16370.log
./compile_nmon.sh
numatop
compiled Size:
1828, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_numatop.sh.16370.log
./compile_numatop.sh
oprofile
compiled Size:
92742, Date: Oct 25 14:05, Name:
/var/tmp/jwm/workdir/compile_oprofile.sh.16370.log
./compile_oprofile.sh
p0f
compiled Size:
1077, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_p0f.sh.16370.log
./compile_p0f.sh
pchar
compiled Size:
13856, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_pchar.sh.16370.log
./compile_pchar.sh
pigz
compiled Size:
1955, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_pigz.sh.16370.log
./compile_pigz.sh
pktstat
compiled Size:
13124, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_pktstat.sh.16370.log
./compile_pktstat.sh
powertop
compiled Size:
14351, Date: Oct 25 14:04, Name:
/var/tmp/jwm/workdir/compile_powertop.sh.16370.log
./compile_powertop.sh
prtdiag
compiled Size:
507, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_prtdiag.sh.16370.log
./compile_prtdiag.sh
saidar
compiled Size:
56305, Date: Oct 25 14:04, Name:
/var/tmp/jwm/workdir/compile_saidar.sh.16370.log
./compile_saidar.sh
screen
compiled Size:
7445, Date: Oct 25 14:04, Name:
/var/tmp/jwm/workdir/compile_screen.sh.16370.log
./compile_screen.sh
smartmontools
compiled Size:
17118, Date: Oct 25 14:04, Name:
/var/tmp/jwm/workdir/compile_smartmontools.sh.16370.log
./compile_smartmontools.sh
sysstat
compiled Size:
16281, Date: Oct 25 14:04, Name:
/var/tmp/jwm/workdir/compile_sysstat.sh.16370.log
./compile_sysstat.sh
t50
compiled Size:
1127, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_t50.sh.16370.log
./compile_t50.sh
tiptop
compiled Size:
6753, Date: Oct 25 14:03, Name:
/var/tmp/jwm/workdir/compile_tiptop.sh.16370.log
./compile_tiptop.sh
tracebox
compiled Size:
88506, Date: Oct 25 14:04, Name:
/var/tmp/jwm/workdir/compile_tracebox.sh.16370.log
./compile_tracebox.sh
All packages will be compiled in this distribution.
To compile a single tool use the compile script from the
last column in the table above.
Prior to recompiling an already compiled tool you must set
the tool to not compiled again using ./make_tools.sh
preparecompile <toolname>
Prior to compiling a tool on the ignore list you must
first remove the tool from the no compile list
/var/tmp/jwm/NO_COMPILE_LIST
To temporary disable compiling a tool execute
./make_tools.sh alreadycompiled <toolname>
(This will mark the tool compiled without compiling
it)jwml_v226_Fedora_release_23_(Twenty_Three)_4.7.7-100.fc23.x86_64_x86_64_2016-10-26.tar.gz
To disable compiling a tool permanent for this
distribution execute ./make_tools.sh nocompile
<toolname>
(This will add the tool to the no compile list for this
distribution)
[25.10.2016 14:05:38]
[25.10.2016 14:05:38] All done (56 executable(s) ).
[25.10.2016 14:05:38]
[25.10.2016 14:05:38]
[25.10.2016 14:05:38] 56 executable(s) executed:
/var/tmp/jwm/compile_scripts/compile_IntelPerformanceCounterMonitor.sh
/var/tmp/jwm/compile_scripts/compile_atop.sh
/var/tmp/jwm/compile_scripts/compile_bonnie++.sh
/var/tmp/jwm/compile_scripts/compile_busybox.sh
/var/tmp/jwm/compile_scripts/compile_bvi.sh
/var/tmp/jwm/compile_scripts/compile_bwm_ng.sh
/var/tmp/jwm/compile_scripts/compile_cdpr.sh
/var/tmp/jwm/compile_scripts/compile_cpulimit.sh
/var/tmp/jwm/compile_scripts/compile_cpumon.sh
/var/tmp/jwm/compile_scripts/compile_darkstat.sh
/var/tmp/jwm/compile_scripts/compile_dhtest.sh
/var/tmp/jwm/compile_scripts/compile_dmidecode.sh
/var/tmp/jwm/compile_scripts/compile_dstat.sh
/var/tmp/jwm/compile_scripts/compile_fio.sh
/var/tmp/jwm/compile_scripts/compile_fspy.sh
/var/tmp/jwm/compile_scripts/compile_hdperf.sh
/var/tmp/jwm/compile_scripts/compile_hostscope.sh
/var/tmp/jwm/compile_scripts/compile_hping2.sh
/var/tmp/jwm/compile_scripts/compile_htop.sh
/var/tmp/jwm/compile_scripts/compile_ibmonitor.sh
/var/tmp/jwm/compile_scripts/compile_ifstat.sh
/var/tmp/jwm/compile_scripts/compile_iftop.sh
/var/tmp/jwm/compile_scripts/compile_inotify.sh
/var/tmp/jwm/compile_scripts/compile_iozone.sh
/var/tmp/jwm/compile_scripts/compile_ipaudit.sh
/var/tmp/jwm/compile_scripts/compile_ipband.sh
/var/tmp/jwm/compile_scripts/compile_iperf.sh
/var/tmp/jwm/compile_scripts/compile_iptraf.sh
/var/tmp/jwm/compile_scripts/compile_jnet.sh
/var/tmp/jwm/compile_scripts/compile_latencytop.sh
/var/tmp/jwm/compile_scripts/compile_monit.sh
/var/tmp/jwm/compile_scripts/compile_mtr.sh
/var/tmp/jwm/compile_scripts/compile_netdata.sh
/var/tmp/jwm/compile_scripts/compile_nethogs.sh
/var/tmp/jwm/compile_scripts/compile_netio.sh
/var/tmp/jwm/compile_scripts/compile_netperf.sh
/var/tmp/jwm/compile_scripts/compile_ngrep.sh
/var/tmp/jwm/compile_scripts/compile_nicstat.sh
/var/tmp/jwm/compile_scripts/compile_nload.sh
/var/tmp/jwm/compile_scripts/compile_nmap.sh
/var/tmp/jwm/compile_scripts/compile_nmon.sh
/var/tmp/jwm/compile_scripts/compile_numatop.sh
/var/tmp/jwm/compile_scripts/compile_oprofile.sh
/var/tmp/jwm/compile_scripts/compile_p0f.sh
/var/tmp/jwm/compile_scripts/compile_pchar.sh
/var/tmp/jwm/compile_scripts/compile_pigz.sh
/var/tmp/jwm/compile_scripts/compile_pktstat.sh
/var/tmp/jwm/compile_scripts/compile_powertop.sh
/var/tmp/jwm/compile_scripts/compile_prtdiag.sh
/var/tmp/jwm/compile_scripts/compile_saidar.sh
/var/tmp/jwm/compile_scripts/compile_screen.sh
/var/tmp/jwm/compile_scripts/compile_smartmontools.sh
/var/tmp/jwm/compile_scripts/compile_sysstat.sh
/var/tmp/jwm/compile_scripts/compile_t50.sh
/var/tmp/jwm/compile_scripts/compile_tiptop.sh
/var/tmp/jwm/compile_scripts/compile_tracebox.sh
[25.10.2016 14:05:38] The working directory was
"/var/tmp/jwm/workdir/".
[25.10.2016 14:05:39] The log file used was
"/var/tmp/execute_scripts.LOG"
[25.10.2016 14:05:39] execute_scripts.sh v1.0.1 started at
Tue Oct 25 14:01:15 CEST 2016 and ended at Tue Oct 25
14:05:39 CEST 2016.
[25.10.2016 14:05:39] The RC is 0.
real 4m24.188s
user 11m16.951s
sys 1m33.717s
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
Sample output
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ time
compile_scripts/make_tools.sh +d
JWM_DIR is "/var/tmp/jwm"
... no general errors found.
All packages will be compiled in this distribution.
[25.10.2016 14:09:43] execute_scripts.sh v1.0.1 started at
Tue Oct 25 14:09:43 CEST 2016.
[25.10.2016 14:09:43] No config file
("execute_scripts.conf") found (use -C to create a default
config file)
[25.10.2016 14:09:43] Using the log file
"/var/tmp/execute_scripts.LOG"
[25.10.2016 14:09:43]
[25.10.2016 14:09:43] Will process 56 executable(s).
(Parameter -I and/or -i)
[25.10.2016 14:09:43] Duplicates are NOT
removed from the list of executables (Parameter -r to
change)
[25.10.2016 14:09:43] Using the start script
"/var/tmp/jwm/compile_scripts/start_compiling.sh"
(Parameter -s)
[25.10.2016 14:09:43] Using the stop script
"/var/tmp/jwm/compile_scripts/check_compile_status.sh"
(Parameter -z)
[25.10.2016 14:09:43] The working directory is
"/var/tmp/jwm/workdir/". (Parameter -o)
[25.10.2016 14:09:43] Start and stop comment lines will be
added to the logfiles (Parameter -k to change)
[25.10.2016 14:09:43]
[25.10.2016 14:09:43] The executables will run sequential
one after the other (Parameter -d to change).
[25.10.2016 14:09:43]
[25.10.2016 14:09:43] The return code of the executables
will be ignored (Parameter -B to change)
[25.10.2016 14:09:43] The last 10 lines of the logfiles of
the executables will be printed after the executable
finished with RC not equal zero (Parameter -D
no_of_logfile_lines=10)
[25.10.2016 14:09:43] The last 5 lines of the logfiles of
the executables will be printed after the executable
finished with RC nequal zero (Parameter -D
no_of_logfile_lines=5)
*** Enter <l><return> to list the executables
to execute, <x> to list the regex for executables
not to execute, <p> to view the script parameter
*** <y><return> to start or
<n><return> to abort. Default is
<n>: y
[25.10.2016 14:09:45] Starting processing ...
[25.10.2016 14:09:45] Executing the start script
"/var/tmp/jwm/compile_scripts/start_compiling.sh"
...
JWM_DIR is "/var/tmp/jwm"
Executing "compile_libpcap" now ...
Executing "compile_libprotobuf" now ...
Copying the OS libraries listed in the file
"/var/tmp/jwm/compile_scripts/OS_LIBS" ...
Deleting existing versions of "libtinfo" ...
Searching the library "libtinfo" ...
library found in the directory "/lib64"
. Now copying the library to the JWM / Linux library
directory ...
/var/tmp/jwm/lib/./libtinfo.so.5
/var/tmp/jwm/lib/./libtinfo.so
/var/tmp/jwm/lib/./libtinfo.so.5.9
336 blocks
Deleting existing versions of "libnuma" ...
Searching the library "libnuma" ...
library found in the directory "/lib64"
. Now copying the library to the JWM / Linux library
directory ...
/var/tmp/jwm/lib/./libnuma.so.1
/var/tmp/jwm/lib/./libnuma.so
/var/tmp/jwm/lib/./libnuma.so.1.0.0
91 blocks
Deleting existing versions of "liblua" ...
Searching the library "liblua" ...
library found in the directory "/lib64"
. Now copying the library to the JWM / Linux library
directory ...
/var/tmp/jwm/lib/./liblua-5.2.sojwml_v226_Fedora_release_23_(Twenty_Three)_4.7.7-100.fc23.x86_64_x86_64_2016-10-26.tar.gz
/var/tmp/jwm/lib/./liblua-5.3.so
/var/tmp/jwm/lib/./liblua.so
886 blocks
Deleting existing versions of "libnl" ...
Searching the library "libnl" ...
[25.10.2016 14:11:40] ---- Processing
"/var/tmp/jwm/compile_scripts/compile_IntelPerformanceCounterMonitor.sh"
... ( 1 from 56)
[25.10.2016 14:12:03] The RC is 0; the log
file is
"/var/tmp/jwm/workdir//compile_IntelPerformanceCounterMonitor.sh.15571.log"
[25.10.2016 14:12:03] The last 5 line(s) of the logfile
"/var/tmp/jwm/workdir//compile_IntelPerformanceCounterMonitor.sh.15571.log"
are:
[25.10.2016 14:12:03]
-------------------------------------
g++ -Wall -g -O3 -Wno-unknown-pragmas -DPCM_USE_PERF
-std=c++0x -c pcm-core.cpp -o pcm-core.o
g++ -MM -Wall -g -O3 -Wno-unknown-pragmas -DPCM_USE_PERF
-std=c++0x pcm-core.cpp > pcm-core.d
g++ -o pcm-core.x pcm-core.o msr.o cpucounters.o pci.o
client_bw.o utils.o -pthread -lrt
rm -rf *.x *.o *~ *.d
# ### ---- Log of the executable
"/var/tmp/jwm/compile_scripts/compile_IntelPerformanceCounterMonitor.sh"
executed at Tue Oct 25 14:12:03 CEST 2016 --- end ---
[25.10.2016 14:12:03]
-------------------------------------
[25.10.2016 14:12:03] ---- Processing
"/var/tmp/jwm/compile_scripts/compile_atop.sh" ... ( 2
from 56)
[25.10.2016 14:12:05] The RC is 0; the log
file is "/var/tmp/jwm/workdir//compile_atop.sh.15571.log"
[25.10.2016 14:12:05] The last 5 line(s) of the logfile
"/var/tmp/jwm/workdir//compile_atop.sh.15571.log" are:
...
[25.10.2016 14:17:17] ---- Processing
"/var/tmp/jwm/compile_scripts/compile_tracebox.sh" ... (
56 from 56)
[25.10.2016 14:17:55] The RC is 0; the log
file is
"/var/tmp/jwm/workdir//compile_tracebox.sh.15571.log"
[25.10.2016 14:17:55] The last 5 line(s) of the logfile
"/var/tmp/jwm/workdir//compile_tracebox.sh.15571.log" are:
[25.10.2016 14:17:55]
-------------------------------------
make[1]: Entering directory '/var/tmp/jwm/src/tracebox'
rm -rf .libs _libs
rm -f *.lo
make[1]: Leaving directory '/var/tmp/jwm/src/tracebox'
# ### ---- Log of the executable
"/var/tmp/jwm/compile_scripts/compile_tracebox.sh"
executed at Tue Oct 25 14:17:55 CEST 2016 --- end ---
[25.10.2016 14:17:55]
-------------------------------------
[25.10.2016 14:17:55] Executing the stop script
"/var/tmp/jwm/compile_scripts/check_compile_status.sh"
...
JWM_DIR is "/var/tmp/jwm"
[check_compile_status.sh] The compile status is:
Tool
Compile status (newest)
Logfile
compile script
---------------------------------------------------------------------------------------------------------------------------------------------------------------
atop
compiled Size:
2313, Date: Oct 25 14:12, Name:
/var/tmp/jwm/workdir/compile_atop.sh.15571.log
./compile_atop.sh
bonnie++
compiled Size:
4419, Date: Oct 25 14:12, Name:
/var/tmp/jwm/workdir/compile_bonnie++.sh.15571.log
./compile_bonnie++.sh
busybox
compiled Size:
212275, Date: Oct 25 14:12, Name:
/var/tmp/jwm/workdir/compile_busybox.sh.15571.log
./compile_busybox.sh
bvi
compiled Size:
1644, Date: Oct 25 14:12, Name:
/var/tmp/jwm/workdir/compile_bvi.sh.15571.log
./compile_bvi.sh
bwm_ng
compiled Size:
7798, Date: Oct 25 14:12, Name:
/var/tmp/jwm/workdir/compile_bwm_ng.sh.15571.log
./compile_bwm_ng.sh
cdpr
compiled Size:
793, Date: Oct 25 14:12, Name:
/var/tmp/jwm/workdir/compile_cdpr.sh.15571.log
./compile_cdpr.sh
cpulimit
compiled Size:
592, Date: Oct 25 14:12, Name:
/var/tmp/jwm/workdir/compile_cpulimit.sh.15571.log
./compile_cpulimit.sh
cpumon
compiled Size:
1056, Date: Oct 25 14:12, Name:
/var/tmp/jwm/workdir/compile_cpumon.sh.15571.log
./compile_cpumon.sh
darkstat
compiled Size:
3988, Date: Oct 25 14:12, Name:
/var/tmp/jwm/workdir/compile_darkstat.sh.15571.log
./compile_darkstat.sh
dhtest
compiled Size:
1656, Date: Oct 25 14:12, Name:
/var/tmp/jwm/workdir/compile_dhtest.sh.15571.log
./compile_dhtest.sh
dmidecode
compiled Size:
2278, Date: Oct 25 14:12, Name:
/var/tmp/jwm/workdir/compile_dmidecode.sh.15571.log
./compile_dmidecode.sh
dstat
compiled Size:
501, Date: Oct 25 14:12, Name:
/var/tmp/jwm/workdir/compile_dstat.sh.15571.log
./compile_dstat.sh
fio
compiled Size:
11179, Date: Oct 25 14:13, Name:
/var/tmp/jwm/workdir/compile_fio.sh.15571.log
./compile_fio.sh
fspy
compiled Size:
3001, Date: Oct 25 14:13, Name:
/var/tmp/jwm/workdir/compile_fspy.sh.15571.log
./compile_fspy.sh
hdperf
compiled Size:
597, Date: Oct 25 14:13, Name:
/var/tmp/jwm/workdir/compile_hdperf.sh.15571.log
./compile_hdperf.sh
hostscope
compiled Size:
7597, Date: Oct 25 14:13, Name:
/var/tmp/jwm/workdir/compile_hostscope.sh.15571.log
./compile_hostscope.sh
hping2
compiled Size:
8895, Date: Oct 25 14:13, Name:
/var/tmp/jwm/workdir/compile_hping2.sh.15571.log
./compile_hping2.sh
htop
compiled Size:
22959, Date: Oct 25 14:13, Name:
/var/tmp/jwm/workdir/compile_htop.sh.15571.log
./compile_htop.sh
ibmonitor
compiled Size:
519, Date: Oct 25 14:13, Name:
/var/tmp/jwm/workdir/compile_ibmonitor.sh.15571.log
./compile_ibmonitor.sh
ifstat
compiled Size:
2804, Date: Oct 25 14:13, Name:
/var/tmp/jwm/workdir/compile_ifstat.sh.15571.log
./compile_ifstat.sh
iftop
compiled Size:
10012, Date: Oct 25 14:13, Name:
/var/tmp/jwm/workdir/compile_iftop.sh.15571.log
./compile_iftop.sh
inotify
compiled Size:
16143, Date: Oct 25 14:13, Name:
/var/tmp/jwm/workdir/compile_inotify.sh.15571.log
./compile_inotify.sh
IntelPerformanceCounterMonitor
compiled Size:
4054, Date: Oct 25 14:12, Name:
/var/tmp/jwm/workdir/compile_IntelPerformanceCounterMonitor.sh.15571.log
./compile_IntelPerformanceCounterMonitor.sh
iozone
compiled Size:
10634, Date: Oct 25 14:13, Name:
/var/tmp/jwm/workdir/compile_iozone.sh.15571.log
./compile_iozone.sh
ipaudit
compiled Size:
7559, Date: Oct 25 14:13, Name:
/var/tmp/jwm/workdir/compile_ipaudit.sh.15571.log
./compile_ipaudit.sh
ipband
compiled Size:
6638, Date: Oct 25 14:13, Name:
/var/tmp/jwm/workdir/compile_ipband.sh.15571.log
./compile_ipband.sh
iperf
compiled Size:
18076, Date: Oct 25 14:13, Name:
/var/tmp/jwm/workdir/compile_iperf.sh.15571.log
./compile_iperf.sh
iptraf
compiled Size:
31047, Date: Oct 25 14:13, Name:
/var/tmp/jwm/workdir/compile_iptraf.sh.15571.log
./compile_iptraf.sh
jnet
compiled Size:
18195, Date: Oct 25 14:13, Name:
/var/tmp/jwm/workdir/compile_jnet.sh.15571.log
./compile_jnet.sh
latencytop
compiled Size:
3203, Date: Oct 25 14:13, Name:
/var/tmp/jwm/workdir/compile_latencytop.sh.15571.log
./compile_latencytop.sh
monit
compiled Size:
92897, Date: Oct 25 14:14, Name:
/var/tmp/jwm/workdir/compile_monit.sh.15571.log
./compile_monit.sh
mtr
compiled Size:
8202, Date: Oct 25 14:14, Name:
/var/tmp/jwm/workdir/compile_mtr.sh.15571.log
./compile_mtr.sh
netdata
compiled Size:
67995, Date: Oct 25 14:14, Name:
/var/tmp/jwm/workdir/compile_netdata.sh.15571.log
./compile_netdata.sh
nethogs
compiled Size:
2605, Date: Oct 25 14:14, Name:
/var/tmp/jwm/workdir/compile_nethogs.sh.15571.log
./compile_nethogs.sh
netio
compiled Size:
3288, Date: Oct 25 14:14, Name:
/var/tmp/jwm/workdir/compile_netio.sh.15571.log
./compile_netio.sh
netperf
compiled Size:
8570, Date: Oct 25 14:14, Name:
/var/tmp/jwm/workdir/compile_netperf.sh.15571.log
./compile_netperf.sh
ngrep
compiled Size:
6157, Date: Oct 25 14:14, Name:
/var/tmp/jwm/workdir/compile_ngrep.sh.15571.log
./compile_ngrep.sh
nicstat
compiled Size:
1075, Date: Oct 25 14:14, Name:
/var/tmp/jwm/workdir/compile_nicstat.sh.15571.log
./compile_nicstat.sh
nload
compiled Size:
11012, Date: Oct 25 14:14, Name:
/var/tmp/jwm/workdir/compile_nload.sh.15571.log
./compile_nload.sh
nmap
compiled Size:
119783, Date: Oct 25 14:15, Name:
/var/tmp/jwm/workdir/compile_nmap.sh.15571.log
./compile_nmap.sh
nmon
compiled Size:
590, Date: Oct 25 14:15, Name:
/var/tmp/jwm/workdir/compile_nmon.sh.15571.log
./compile_nmon.sh
numatop
compiled Size:
1830, Date: Oct 25 14:15, Name:
/var/tmp/jwm/workdir/compile_numatop.sh.15571.log
./compile_numatop.sh
oprofile
compiled Size:
92745, Date: Oct 25 14:16, Name:
/var/tmp/jwm/workdir/compile_oprofile.sh.15571.log
./compile_oprofile.sh
p0f
compiled Size:
1079, Date: Oct 25 14:16, Name:
/var/tmp/jwm/workdir/compile_p0f.sh.15571.log
./compile_p0f.sh
pchar
compiled Size:
13858, Date: Oct 25 14:16, Name:
/var/tmp/jwm/workdir/compile_pchar.sh.15571.log
./compile_pchar.sh
pigz
compiled Size:
1957, Date: Oct 25 14:16, Name:
/var/tmp/jwm/workdir/compile_pigz.sh.15571.log
./compile_pigz.sh
pktstat
compiled Size:
13126, Date: Oct 25 14:16, Name:
/var/tmp/jwm/workdir/compile_pktstat.sh.15571.log
./compile_pktstat.sh
powertop
compiled Size:
14354, Date: Oct 25 14:16, Name:
/var/tmp/jwm/workdir/compile_powertop.sh.15571.log
./compile_powertop.sh
prtdiag
compiled Size:
509, Date: Oct 25 14:16, Name:
/var/tmp/jwm/workdir/compile_prtdiag.sh.15571.log
./compile_prtdiag.sh
saidar
compiled Size:
56308, Date: Oct 25 14:16, Name:
/var/tmp/jwm/workdir/compile_saidar.sh.15571.log
./compile_saidar.sh
screen
compiled Size:
7373, Date: Oct 25 14:16, Name:
/var/tmp/jwm/workdir/compile_screen.sh.15571.log
./compile_screen.sh
smartmontools
compiled Size:
17120, Date: Oct 25 14:17, Name:
/var/tmp/jwm/workdir/compile_smartmontools.sh.15571.log
./compile_smartmontools.sh
sysstat
compiled Size:
16283, Date: Oct 25 14:17, Name:
/var/tmp/jwm/workdir/compile_sysstat.sh.15571.log
./compile_sysstat.sh
t50
compiled Size:
1129, Date: Oct 25 14:17, Name:
/var/tmp/jwm/workdir/compile_t50.sh.15571.log
./compile_t50.sh
tiptop
compiled Size:
6755, Date: Oct 25 14:17, Name:
/var/tmp/jwm/workdir/compile_tiptop.sh.15571.log
./compile_tiptop.sh
tracebox
compiled Size:
88510, Date: Oct 25 14:17, Name:
/var/tmp/jwm/workdir/compile_tracebox.sh.15571.log
./compile_tracebox.sh
All packages will be compiled in this distribution.
To compile a single tool use the compile script from the
last column in the table above.
Prior to recompiling an already compiled tool you must set
the tool to not compiled again using ./make_tools.sh
preparecompile <toolname>
Prior to compiling a tool on the ignore list you must
first remove the tool from the no compile list
/var/tmp/jwm/NO_COMPILE_LIST
To temporary disable compiling a tool execute
./make_tools.sh alreadycompiled <toolname>
(This will mark the tool compiled without compiling it)
To disable compiling a tool permanent for this
distribution execute ./make_tools.sh nocompile
<toolname>
(This will add the tool to the no compile list for this
distribution)
[25.10.2016 14:17:55]
[25.10.2016 14:17:55] All done (56 executable(s) ).
[25.10.2016 14:17:55]
[25.10.2016 14:17:55]
[25.10.2016 14:17:55] 56 executable(s) executed:
/var/tmp/jwm/compile_scripts/compile_IntelPerformanceCounterMonitor.sh
/var/tmp/jwm/compile_scripts/compile_atop.sh
/var/tmp/jwm/compile_scripts/compile_bonnie++.sh
/var/tmp/jwm/compile_scripts/compile_busybox.sh
/var/tmp/jwm/compile_scripts/compile_bvi.sh
/var/tmp/jwm/compile_scripts/compile_bwm_ng.sh
/var/tmp/jwm/compile_scripts/compile_cdpr.sh
/var/tmp/jwm/compile_scripts/compile_cpulimit.sh
/var/tmp/jwm/compile_scripts/compile_cpumon.sh
/var/tmp/jwm/compile_scripts/compile_darkstat.sh
/var/tmp/jwm/compile_scripts/compile_dhtest.sh
/var/tmp/jwm/compile_scripts/compile_dmidecode.sh
/var/tmp/jwm/compile_scripts/compile_dstat.sh
/var/tmp/jwm/compile_scripts/compile_fio.sh
/var/tmp/jwm/compile_scripts/compile_fspy.sh
/var/tmp/jwm/compile_scripts/compile_hdperf.sh
/var/tmp/jwm/compile_scripts/compile_hostscope.sh
/var/tmp/jwm/compile_scripts/compile_hping2.sh
/var/tmp/jwm/compile_scripts/compile_htop.sh
/var/tmp/jwm/compile_scripts/compile_ibmonitor.sh
/var/tmp/jwm/compile_scripts/compile_ifstat.sh
/var/tmp/jwm/compile_scripts/compile_iftop.sh
/var/tmp/jwm/compile_scripts/compile_inotify.sh
/var/tmp/jwm/compile_scripts/compile_iozone.sh
/var/tmp/jwm/compile_scripts/compile_ipaudit.sh
/var/tmp/jwm/compile_scripts/compile_ipband.sh
/var/tmp/jwm/compile_scripts/compile_iperf.sh
/var/tmp/jwm/compile_scripts/compile_iptraf.sh
/var/tmp/jwm/compile_scripts/compile_jnet.sh
/var/tmp/jwm/compile_scripts/compile_latencytop.sh
/var/tmp/jwm/compile_scripts/compile_monit.sh
/var/tmp/jwm/compile_scripts/compile_mtr.sh
/var/tmp/jwm/compile_scripts/compile_netdata.sh
/var/tmp/jwm/compile_scripts/compile_nethogs.sh
/var/tmp/jwm/compile_scripts/compile_netio.sh
/var/tmp/jwm/compile_scripts/compile_netperf.sh
/var/tmp/jwm/compile_scripts/compile_ngrep.sh
/var/tmp/jwm/compile_scripts/compile_nicstat.sh
/var/tmp/jwm/compile_scripts/compile_nload.sh
/var/tmp/jwm/compile_scripts/compile_nmap.sh
/var/tmp/jwm/compile_scripts/compile_nmon.sh
/var/tmp/jwm/compile_scripts/compile_numatop.sh
/var/tmp/jwm/compile_scripts/compile_oprofile.sh
/var/tmp/jwm/compile_scripts/compile_p0f.sh
/var/tmp/jwm/compile_scripts/compile_pchar.sh
/var/tmp/jwm/compile_scripts/compile_pigz.sh
/var/tmp/jwm/compile_scripts/compile_pktstat.sh
/var/tmp/jwm/compile_scripts/compile_powertop.sh
/var/tmp/jwm/compile_scripts/compile_prtdiag.sh
/var/tmp/jwm/compile_scripts/compile_saidar.sh
/var/tmp/jwm/compile_scripts/compile_screen.sh
/var/tmp/jwm/compile_scripts/compile_smartmontools.sh
/var/tmp/jwm/compile_scripts/compile_sysstat.sh
/var/tmp/jwm/compile_scripts/compile_t50.sh
/var/tmp/jwm/compile_scripts/compile_tiptop.sh
/var/tmp/jwm/compile_scripts/compile_tracebox.sh
[25.10.2016 14:17:55] The working directory was
"/var/tmp/jwm/workdir/".
[25.10.2016 14:17:55] The log file used was
"/var/tmp/execute_scripts.LOG"
[25.10.2016 14:17:55] execute_scripts.sh v1.0.1 started at
Tue Oct 25 14:09:43 CEST 2016 and ended at Tue Oct 25
14:17:55 CEST 2016.
[25.10.2016 14:17:55] The RC is 0.
real 8m12.019s
user 7m3.814s
sys 0m58.906s
Old History
Date
|
Version
|
Comment
|
01.01.2021 /bs
|
2.6.0
|
added support for the Raspberry OS
to the compile scripts
the script to create a new archive, create_archive.sh,
now also deletes the .a files in the
directory ${JWM_DIR}/lib.
added pspy 1.2.0
added sockstat 0.4.1-1
added zmap 2.1.1
New Versions
new version: nmon 16m
new version: ipscan 3.7.3
new version: memconf 3.15
new version: inxi 3.2.01-00
new version: stress-ng
0.12.0
new version: atop 2.6
new version: eventstat
0.4.11
new version: forkstat
0.2.16
new version: htop
3.0.4
new version: sysstat
12.5.2
new version: netsniff-ng
0.6.7
new version: mtr 0.94
new version: iozone 491
new version: t50 5.8.8
new version: fnotifystat
0.02.07
new version: hostscope
v7.0
new version: netdata v1.28
new version: bpytop 1.0.52
new version: lynis 3.0.2
removed: tracebox
removed: libprotobuf (the library is not necessary
for the current version of hostscope
anymore)
|
01.10.2020/bs
|
2.5.0
|
added bashtop
0.9.25
added bpytop 1.0.3
added faultstat 0.01.04
New Versions
new version: ack
3.4.0
new version: fnotifystat
0.02.06
new version: smemstat
0.02.08
new version: eventstat
0.04.10
new version: forkstat
0.02.09
new version: stress-ng
0.11.19
new version: sysstat
12.4.0
new version: health-check
0.03.09
new version: oprofile
1.4.0
new version: busybox 1.3.2
new version: powerstat
00.02.24
new version: screen
4.8.0
new version: netdata
1.24.0
new version: lynis 3.0.0
new version: htop
3.0.0
new version: iptraf-ng
1.2.1
new version: powertop
2.13
new version: procdump
1.1.1
new version: t50 5.8.7
new version: cpustat
0.02.11
new version: pagemon
0.01.20
additional libraries
now included in the JWM / Linux archive are
libjson-c*
libbsd*
removed: tecmint_monitor.sh
removed: pt-diskstats
Updates for all compile scripts
- the compile parameter -ltinfo will
now only be used if the library libtinfo.so
exists
- the compile scripts now always create temporary
make files if changes to the make file are necessary
|
01.12.2019/bs
|
2.4.0
|
added netcat
(The GNU Netcat) 0.7.1
New versions
new version: ack
3.1.2
new version: busybox
1.31.0
new version: netdata
v1.18.1
new version: sysstat
12.0.6
new version: stress-ng
0.10.8
new version: health-check
0.03.01
new version: forkstat
0.02.1
new version: eventstat
0.04.07
new version: smemstat
0.02.05
new version: tcpdump 4.9.3
new version: t50 5.8.5
new version: memconf 3.15
new version: inq 9.1
new version: lynis 2.7.5
|
01.07.2019 /bs
|
2.3.0
|
added sockperf
3.5
added httpry 0.1.8
added trace-cmd 2.7
added nano 3.1
added monitor_systems.sh
1.0.0
added checksec 1.10.0
added ioping 1.1
added scanlogd 2.2.7
added arping 2.19
added dropwatch 1.5
added some binaries (e.g for iperf) for other OS
New versions
new version: stress-ng
0.09.57
new version: lynis 2.7.4
new version: dmidecode
3.2
new version: sysstat
tools 12.1.5
new version: forkstat
0.02.09
new version: eventstat
0.04.05
new version: smemstat
0.02.03
new version: iozone 3_487
new version: bwm-ng
0.6.2
new version: busybox
1.30.1
new version: powerstat
0.02.18
new version: collectl
4.3.1
new version: netdata
1.14.0
new version: inxi 3.0.33
new version: atop
2.4.0
new version: stress-ng
0.09.59.1
new version: health-check
0.03.01
new version: nmon 16j
new version: ack 3.0
removed: unfs3
|
01.09.2018/bs |
2.2.11 |
added testssl.sh
3.0beta
added ack 3 beta
New versions
new version: ack 2.24
new version: CPUhog 2.1.3
new version: cpustat
00.02.05
new version: dhtest 1.5
new version: eventstat
0.04.04
new version: forkstat
0.02.05
new version: health-check
0.03.00
new version: lynis 2.6.7
new version: scriptt_mini.sh
new version: horst 5.1
new version: hostscope
4.0
new version: htop
2.2.0
new version: inxi 3.0.21
new version: inq
9.0.0.0
new version: iozone 3_482
new version: ipscan
3.5.3
new version: oprofile
1.3.0
new version: pigz 2.4
new version: powertop
2.9
new version: procdump
1.0.1
new version: smemstat
0.02.01
new version: stress-ng
0.9.37
new version: t50 5.8.0
new version: smartmontools
6.6
new version: sysstat
tools 12.0.1
new version: perftools
19.12.2017
new version: nmap
7.70
new version: netsniff-ng
0.6.4
new version: busybox
1.29.2
removed: saidar
added a patched version of
the opensnoop script from the perftools
added the wrapper script open_snoop_wrapper.sh
for the script opensnoop from the perftools
added the wrapper script exec_snoop_wrapper.sh
for the script execsnoop from the perftools
fixes:
start_compiling.sh
was rewritten because the script did not process all
kind of symbolic links for the libraries correct
fixed a lot of compile scripts in the directory ${JWM_DIR}/compile_scripts
so that they can be used with a
non-standard compiler in Centos 6.9
the compile scripts printed a wrong error message in
case of an error if called direct - fixed
added the "new" directories from Mint 19 to the
library search path in start_compiling
the script to start collectl,
scripts/collectl, did not work -- fixed
|
03.01.2018/bs |
2.2.10 |
added the kornshell script template scriptt_mini.sh
( in the directory ${JWM_DIR}/develop)
added procdump 1.0.0
added memstat 1.0.0
New versions
new version: inxi 2.3.53
new version: lynis 2.5.8
new version: health-check
0.02.08
new version: ack 2.20
new version: collectl
4.3.0
new version: htop
2.0.2
new version: hostscope
2.3.0
new version: stress-ng
0.09.07
new version: eventstat
0.04.02
new version: memconf v3.14
new version: netsniff-ng
0.6.3
new version: iperf3
3.6.0
fixed some code in the Perl
script for the MAN Server that the new Perl
version does not like:
Changes in manServer.pl
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$ diff
/var/tmp/jwm/scripts/manServer.pl
/var/tmp/jwm/scripts/manServer.pl.org
585c585
< s,\\\{,,g;
---
> s,\\{,,g;
1959c1959
<
elsif ($col =~ m/T\{/) #}
---
>
elsif ($col =~ m/T{/) #}
1961c1961
<
$col =~
s/T\{//; #}
---
>
$col =~
s/T{//; #}
[JWM session] [xtrnaw7@t540p /var/tmp/jwm]$
|
15.10.2017/bs |
2.2.9 |
added wavemon 0.8.0
added tcptrack 1.4.2
added smemstat 0.01.17
New versions
new version: ack 2.18
new version: atop
2.3.0/var/tmp/jwm/workdir/compile_powertop.sh.13646.log
new version: bonnie++ 1.0.4
new version: busybox
1.27.2
new version: collectl
4.2.0
new version: dmidecode
3.1
new version: dstat
0.7.3
new version: eventstat
0.04.01
new version: fiemap
new version: fio
2.1.10
new version: fnotifystat
0.01.17
new version: forkstat 0.0
new version: t50 5.7.02.00
new version: health-check
0.02.06
new version: hostscope
2.1
new version: inq
8.4.0.7__builtin_bswap16
new version: iozone3 471
new version: iperf3
3.2.0
new version: lynis 2.5.5
new version: mtr 0.9.2
new version: netdata 1.8
new version: ngrep
1.47
new version: numatop
1.0.4
new version: oprofile
1.2.0
new version: p0f 3.09
new version: stress-ng
0.08.16
new version: sysstat
11.6.0
new version: t50 5.7.0
new version: tcpdump
4.9.2
added the column "gcc version" to
the table "Linux
Distributions tested"
updated execute_on_all_host.sh
to version 2.2.3
|
01.05.2017/bs |
2.2.8 |
added JDiskReport
1.4.1
added horst 5.0
added lxtx
added mpathstat.py 1.1
removed monit ; the link to
download monit is now in the list with
links to other performance and monitoring tools
New versions
new version: nmap
7.40
new version: lynis 2.4.8
new version: busybox
1.26.2
new version: iperf3
3.1.7
new version: inq
8.3.0.6
new version: memconf v3.13
new version: sysstat
11.5.5
new version: netdata 1.6.0
new version: inxi 2.3.8
new version: bmon 4.0
updated execute_scripts.sh
to version 1.0.2
add_os_package.sh
now also supports Arch Linux Distributions (tested
with Antergos and Apricity)
add_os_package.sh
now also checks for other kornshell derivates like
mksh or pdksh
all compile scripts support now the parameter -f
or --force to compile the tool
even if it's already compiled
added the tar file ${JWM_DIR}/hostscope_jwm_rhel6.tar
with compiled hostscope binaries for Linux
distributions on which hostscope can not be compiled
|
01.01.2017/bs |
2.2.7
|
added CPUhog
added stress 1.04
added stress-ng 0.03.11
added forkstat 0.01.15
added cpustat 0.01.28
added powerstat 0.02.10
added smemstat 0.01.15
added eventstat
0.03.03
added pagemon 0.01.10
added fnotifystat
0.01.16
added health-check
0.02.04
added fiemap
added a simple manServer
added sysfsutils 2.1
added unfs3 09.22
added justniffer 0.5.14
added bmon 3.9
added iptstate
2.2.6
added pt-diskstats
2.2.19
added iptraf-ng
1.1.4
added netsniff-ng
0.6.2+
added nmonchart 31
added the Java Nmon
Analyzer
New versions
new version: tecmint_monitor.sh
new version: smartmontools
6.5
new version: netperf 2.7
new version: dhtest 1.4
new version: inxi 3.02 (Update
08.04.2017/bs: This version number is
wrong; should be 2.3.4)
new version: sysstat
11.5.3
new version: hostscope
1.0.0
added a patch to the source for oprofile
so that it compiles with GCC-6 also
added the Tools summary
table with the tools sorted by usage
added a column with the user interface to the table with
the tools
added a column with the release year of the newest
version of the tools to the table with
the tools
added hints to compile busybox
in older Linux versions
added a list
with links to other performance tools not
included here
added the script jwm.sh
added the script check_for_missing_libs.sh
added the script add_os_packages.sh
added a table with Linux
distributions tested
Fixes:
- rearranged the sections in this document: The
sections about compiling the tools and adding new
tools or libraries are now after the information
about the included tools
- fixed some small errors in the scripts
- corrected a nasty bug in the include script
jwm_env
- corrected a bug in the compile script for nmon
Be aware that this page now heavily uses the "new"
html tag <details></details>. Therefor
you should use a browser that supports this tag.
<details> Test
If you can see this text and can NOT hide it by
clicking on <details> Test
above your browser does not support the tag
<details></details>
|
01.11.2016/bs |
2.2.6
|
added dmidecode
3.0
added prtdiag 1.2
added memconf 3.12
added cdpinfo 1.2
added jnettop 0.13
added nload 0.7.4
added the script netdata.sh
for starting or stopping the netdata
daemon
added the script darkstat.sh
for starting or stopping the darkstat daemon
added the script busybox_httpd.sh
for starting or stopping the busybox
httpd daemon
New versions
new version: T50 5.6.7-fix1
new version: inq
8.3.0
new version: collectl
4.1.0
new version: lynis 2.40
Fixes:
corrected the description for darkstat
|
09.10.2016/bs
|
2.2.5
|
added ipband
added ibmonitor
added ipscan
added ipaudit
added lynis
added tecmint_monitor.sh
New versions
new version: netdata 1.4.0
new version: tiptop 2.3
new version: pigz 2.3.4
new version: busybox
1.25.0
new version: nmon 16f
new version: collectl
4.0.5
new version: sysstat
11.4.1
new version: iozone
3_465
|
15.05.2016/bs
|
2.2.4
|
added inxi
added netdata 1.1.0
added Intel
Performance Counter Monitor 2.11
added smem
New versions
new version: nmon
16d
new version: powertop
2.8
new version: numatop
1.0.4
new version: sysstat
11.2.2
new version: inq
8.2.0
new version: htop
2.0.1
new version: dstat
0.7.3
new version: collectl
4.0.4
|
09.01.2016/bs
|
2.2.3
|
added hostscope 0.2.0
added p0f 3.08b
New versions
new version: darkstat
3.0.719
new version: pigz 2.3.3
new version: execute_on_all_hosts.sh
2.0.2
new version: execute_scripts.sh
1.0.1
added screenshots for the tools
The compile script now supports partial OS
descriptions in the NO_COMPILE_LIST
Fixes:
The script start_compiling now uses "rm -f" to
delete existing libraries
The script start_compiling now searches the OS
libraries to copy in these directories (the last two
directories are new):
/lib64 /lib /usr/lib64 /usr/lib
/usr/local/lib /usr/local/lib64
|
08.11.2015/bs
|
2.2.2
|
New versions
new version: atop
2.2.3
new version: bwm-ng
0.6.1
new version: sysstat
11.1.8
new version: nmon 15h
new version: oprofile
1.1.0
new version: inq
8.1.1.0 (64 Bit only; 32 Bit Version is still
7.6.2.0)
new version: execute_on_all_hosts.sh
2.0.1
added the parameter "forcecompile" (= compile
even if already compiled) to the make script.
|
10.04.2015/bs
|
2.2.1
|
added smartmontools 6.3
corrected: nicstat now compiles out of the box in 32
Bit Linux also
New versions
new version: inq
8.0.2.0 (64 Bit only; 32 Bit Version is still
7.6.2.0)
new version: collectl
4.0.0
new version: sysstat
11.1.4
|
15.11.2014/bs
|
2.2.0
|
added tiptop 2.2
added perftools
added code to copy some unusal OS libraries
necessary for the tools to the JWM / Linux lib
directory
New versions
new version: ack 2.14
new version: atop 2.1
new version: collectl
3.7.4
new version: oprofile
1.0.0
new version: sysstat
11.1.2
|
15.08.2014/bs
|
2.1.0
|
added pigz 2.3.1
New versions
tnew version: numatop
1.0.3
new version: saidar:
0.9.1
made some minor changes for 32-bit Linux
|
09.06.2014/bs
|
2.0.0
|
added execute_scripts.sh
1.0.0
removed ntopng
removed redis
added busybox 1.22.1
added monit 5.8.1
Fixes
make script completely rewritten -- now it uses the
script execute_scripts.sh
to compile the tools in parallel sessions
|
01.06.2014/bs
|
1.0.4
|
added netperf 2.6.0
added bonnie++ 1.03
New versions
new version: ack 2.12
new version: cdpr 2.4
new version: collectl
3.7.3
new version: cpumon 2.4
new version: darkstart
3.0718
new version: fio
2.1.7
new version: htop
1.3
new version: iftop
1.0pre4
new version: inq
7.6.2.0
new version: mtr 0.85
new version: nicstat
1.95
new version: numatop
1.02
new version: powertop
2.6.1
new version: sysstat
10.2.1
new version: execute_on_all_hosts.sh
v1.2.0
|
10.04.2014/bs
|
1.0.3
|
moved the directory "
oprofile_data" to data/oprofile
added dhtest
added t50
added tracebox
|
10.02.2014/bs
|
1.0.2
|
added cpumon
added bvi
added ntopng and redis-server
|
05.11.2013/bs
|
1.0.1
|
added various tools
cleanup scripts
|
27.10.2013/bs
|
1.0.0
|
first public release
see also the README file in
the tar archive
|
|
|
|
The prebuild version of JWM / Linux can be downloaded here:
http://bnsmb.de/files/public/jwm_linux/
Not all required libs for the tools in JWM / Linux are
available in all Linux distributions . This section contains a
list of them (well, some of them..) and the URLs to download
the source for these libraries:
URL
|
Description |
Comment
|
http://humdi.net/vnstat/ |
"nStat is a console-based network traffic monitor
for Linux and BSD that keeps a log of network traffic
for the selected interface(s). It uses the network
interface statistics provided by the kernel as
information source. This means that vnStat won't
actually be sniffing any traffic and also ensures
light use of system resources. " |
|
http://bandwidthd.sourceforge.net/ |
"BandwidthD tracks usage of TCP/IP network subnets
and builds html files with graphs to display
utilization. Charts are built by individual IPs, and
by default display utilization over 2 day, 8 day, 40
day, and 400 day periods. Furthermore, each ip
address's utilization can be logged out at intervals
of 3.3 minutes, 10 minutes, 1 hour or 12 hours in cdf
format, or to a backend database server. HTTP, TCP,
UDP, ICMP, VPN, and P2P traffic are color coded. " |
|
http://nicolargo.github.io/glances/ |
Glances is a cross-platform system monitoring tool
written in Python. |
|
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/W51a7ffcf4dfd_4b40_9d82_446ebc23c550/page/Linux%20Performance%20Customer%20Profiler%20Utility%20%28lpcpu%29 |
"This script captures a lot of potentially
interesting performance data (profile information,
system information, and some system configuration
information) on a single pass approach. Gathering all
of this information at once allows the context to be
understood for the performance profiling data to be
analyzed" |
|
https://sourceforge.net/projects/nnmon/ |
nnmon is a central database and a web interface for
the nmon program's data. Store and view nmon data
instantly. It's completely free software and released
under GPLv3. |
|
https://sourceforge.net/projects/nmon-webifier |
These tools are for newly released NMON performance
analyzer to help gather, collect, store and present
via web graphs the data collected. Graphs can be
utilized 'on the fly' as data is updated every 10
minutes for support purposes. |
|
http://people.redhat.com/srostedt/kernelshark/HTML/
|
"KernelShark is a front end reader of trace-cmd(1)
output. "trace-cmd record" and "trace-cmd extract"
create a trace.dat (trace-cmd.dat(5)) file. kernelshark
can read this file and produce a graph and list view
of its data." |
|
https://projects.eclipse.org/projects/tools.tracecompass |
"Trace Compass is a Java tool for viewing and
analyzing any type of logs or traces. Its goal is to
provide views, graphs, metrics, etc. to help extract
useful information from traces, in a way that is more
user-friendly and informative than huge text dumps." |
|
http://www.sysdig.org |
Sysdig is open source, system-lebel exploration:
capture system state and activity from a running Linux
instance, then save, filter and analyze |
|
https://github.com/iovisor/bcc
|
BCC - Tools for BPF-based Linux IO analysis,
networking, monitoring, and more
BCC is a toolkit for creating efficient kernel tracing
and manipulation programs, and includes several useful
tools and examples. It makes use of extended BPF
(Berkeley Packet Filters), formally known as eBPF, a
new feature that was first added to Linux 3.15. Much
of what BCC uses requires Linux 4.1 and above.
|
|
https://zmap.io/ |
The ZMap Project is a collection of
open source tools that enable researchers to perform
large-scale studies of the hosts and services that
compose the public Internet.
|
|
This table lists all tools that were part of one of the
previous versions of JWM for Linux.
back to
top