stat.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Fri, 31 Jan 2014 16:37:08 +0200
changeset 1558 beba45734051
parent 1557 94e93fb50849
child 1570 e98df1173d31
permissions -rw-r--r--
netstat example.

.. -*- coding: utf-8; -*-
.. include:: HEADER.rst

=========================
 OS resource statistics.
=========================
.. contents::

CPU consumption.
================

Linux interactive.
------------------
::

  $ top

Try press 's' (strace), 'l' (lsof), 'F5' (tree view) in::

  $ htop

  http://htop.sourceforge.net/
                home page

Linux static.
-------------
::

  $ ps -eo %cpu,pid,cmd --sort=%cpu

FreeBSD interactive.
--------------------
::

  $ top

Windows.
--------
::

  cmd> taskmgr

Solaris.
--------

Interactive::

  $ perfmeter

Static::

  $ prstat

  $ mpstat <num> <seconds>

See

  http://developers.sun.com/solaris/articles/prstat.html
                Topping top in Solaris 8 with prstat.

Memory consumption.
===================

Linux interactive.
------------------
::

  $ top

Linux static.
-------------

Vitual and resident memory size::

  $ ps -eo vsz,rsz,pid,cmd --sort=vsz --width 3000

Swap size and usage::

  $ free -t
               total       used       free     shared    buffers     cached
  Mem:       1028732      91928     936804          0       5396      34936
  -/+ buffers/cache:      51596     977136
  Swap:      1048568          0    1048568
  Total:     2077300      91928    1985372

  $ vmstat
  procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
   r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
   0  0      0 936804   5460  34936    0    0    21     5  363   29  0  0 99  0

FreeBSD interactive.
--------------------
::

  $ top

FreeBSD static.
---------------

Swap size::

  $ swapinfo
  $ pstat -s

Swap usage::

  $ vmstat

Solaris.
--------
::

  $ sar -g

  $ vmstat

  $ prstat -s size

  $ prstat -a

Windows.
--------
::

  cmd> taskmgr

and add colums TODO.

Opened file by process.
=======================

Linux.
------
::

  $ lsof -p <pid>

FreeBSD.
--------
::

  $ fstat -p <pid>

Windows interactive.
--------------------

procexp.exe from Sysinternals.

Windows static.
---------------

handle.exe from Sysinternals::

  cmd> handle -p 1265
  C: File  (RW-)   C:\Program Files\Common Files\GTK\2.0\bin
  288: Section       \BaseNamedObjects\mmGlobalPnpInfo

Opened file by user.
====================

FreeBSD.
--------
::

  $ fstat -u <user>

Opened network connection by process.
=====================================

Linux.
------
::

  $ lsof -i[46][protocol][@{hostname|hostaddr}][:{service|port}]
  $ netstat -p -l | grep $PORT

where ``[46]`` - IPV4 or IPV6, ``protocol`` - tcp, udp.

::

  $ fuser $port/tcp

To kill precess by port number::

  $ fuser -k $port/tcp       # with SIGKILL
  $ fuser -k -15 $port/tcp   # with SIGTERM
  $ fuser -k -TERM $port/tcp # with SIGTERM

FreeBSD.
--------

TODO

Windows.
--------
::

'-o' show PID, '-a' show all connection::

  cmd> netstat -o -a
  Type Local addr   Remote addr        State         PID
  TCP  user:1154    localhost:1153     ESTABLISHED   1512
  TCP  user:5152    localhost:1052     CLOSE_WAIT    1524
  TCP  user:1036    services.int:5222  ESTABLISHED   1188

Locked file by process.
=======================

Linux.
------
::

  $ lsof <file>

FreeBSD.
--------

TODO

Solaris.
--------

TODO

Windows interactive.
--------------------

procexp.exe from Sysinternals.

Windows static.
---------------

handle.exe from Sysinternals::

  cmd> handle d:\home
  ispell.exe         pid: 244     784: D:\home\drivers\token_api\src
  Far.exe            pid: 432     10C: D:\home\drivers\token_api