一、w 命令
作用:
  • 用于显示已经登录系统的用户列表, 并显示用户正在执行的指令。 执行这个命令可得知目前登入系统的用户有哪些人, 以及他们正在执行的程序。  单独执行w 命令会显示所有的用户, 您也可指定用户名称,仅显示某位用户的相关信息。
选项:
-h  不打印头信息
-u  当显示当前进程和cpu 时间时忽略用户名
-s  使用短输出格式
-f  显示用户从哪登录
实例:
20:39:37 up 136 days, 3:58, 1 user, load average: 0.00, 0.00, 0.00 (平均负载)
USER TTY FROM login@ IDLE JCPU PCPU WHAT 
root pts/0 222.94.97.122 20:39 1.00s 0.00s 0.00s w 
二、uptime 命令
作用: 打印系统总共运行了多长时间和系统的平均负载。 uptime 命令可以显示的信息依次为: 
现在时间, 系统已经运行时间, 目前登录用户个数, 系统1,5,15 分钟内的平均负载
实例:  uptime
           15:31:30 up 127 days, 3:00, 1 user, load average: 0.00, 0.00, 0.00
平均负载: 在特定时间间隔内运行队列中的平均进程数
如果每个CPU内核的当前活动进程数不大于3的话, 那么系统的性能是良好的。 如果每个CPU内核的任务数大于5, 那么这台机器的性能有严重问题。   如果linux主机是1双核CPU的话, 当Load Average 为6 的时候就说明机器被充分使用了。
 
三、top 命令
作用: 实时动态查看系统的整体运行情况, 是一个综合了多方信息监测系统性能和运行信息的实用工具。 默认按照CPU排序。
选项:
-b  以批处理模式操作
-c  显示完整的命令
-d  屏幕刷新间隔时间
-I   忽略失效过程
-s  保密模式
-S 累积模式
-i  设置时间间隔
-u 指定用户名
-p 指定进程
-n 循环显示的次数
top 交互命令
h 显示帮助画面, 给出一些简短的命令总结说明
k 终止一个进程
i  忽略闲置和僵死进程, 这是一个开关式命令
q 退出程序
r 重新安排一个进程的优先级
S 切换到累积模式
s 改变两次刷新之间的延迟时间, 默认是5S .
f 从当前显示中添加或者删除项目
o 改变显示项目的顺序
l 切换显示平均负载和启动时间信息
m 切换显示内存信息
t   切换显示进程和CPU 状态信息
c 切换显示命令名称和完整命令行
M 根据驻留内存大小进行排序
P  根据CPU 使用百分比大小进程排序
T  根据时间进程排序
w 将当前设置写入~、。toprc 文件
实例:
09:44:56 up 16 days, 21:23, 1 user, load average: 9.59, 4.75, 1.92
Tasks: 145 total, 2 running, 143 sleeping, 0 stopped, 0 zombie Cpu(s):
99.8%us, 0.1%sy, 0.0%ni, 0.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4147888k total, 2493092k used, 1654796k free, 158188k
buffers Swap: 5144568k total, 56k used, 5144512k free, 2013180k cached
 
top - 09:44:56[当前系统时间]
16 days[系统已经运行了16天]
1 user[个用户当前登录]
load average: 9.59
4.75
1.92[系统负载,即任务队列的平均长度] Tasks: 145 total[总进程数]
2 running[正在运行的进程数]
143 sleeping[睡眠的进程数]
0 stopped[停止的进程数]
0 zombie[冻结进程数]
Cpu(s): 99.8%us[用户空间占用CPU百分比]
0.1%sy[内核空间占用CPU百分比]
0.0%ni[用户进程空间内改变过优先级的进程占用CPU百分比]   nice   -20  -> 19 
0.2%id[空闲CPU百分比]
0.0%wa[等待输入输出的CPU时间百分比]
0.0%hi[]
0.0%st[]
Mem: 4147888k total[物理内存总量]
2493092k used[使用的物理内存总量]
1654796k free[空闲内存总量]
158188k buffers[用作内核缓存的内存量] Swap:  5144568k total[交换区总量]
56k used[使用的交换区总量]
5144512k free[空闲交换区总量]
2013180k cached[缓冲的交换区总量],
 
top -bn1 : 直接运行后退出
四、vmstat 命令
作用:vmstat 的含义为显示虚拟内存状态(virtual memor statics),但是它可以报告关于进程,内存,I/O 等系统整体运行状态
选项:
-a 显示活动内页
-f 显示启动后创建的进程总数
-m 显示slab 信息
-n 头信息仅显示一次
-s 以表格方式显示事件计数器和内存状态
-d 报告磁盘状态
-p 显示指定的硬盘分区状态
-S 输出信息的单位
参数
事件间隔:状态信息刷新的时间间隔
次数:  显示报告的次数
实例:
vmstat 3  
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 952092  10236  38704    0    0    47     3   17   24  0  0 99  0  0
 0  0      0 952084  10236  38704    0    0     0     0    5    7  0  0 100  0  0
 0  0      0 952084  10236  38704    0    0     0     0    5    6  0  0 100  0  0
 0  0      0 952084  10236  38704    0    0     0     0    6    8  0  0 100  0  0
 0  0      0 952084  10236  38704    0    0     0     0    5    6  0  0 100  0  0
字段说明
Proc (进程)
*r  :  运行队列中进程数量, 这个值也可以判断是否需要增加CPU。(长期大于1)
*b :  等待IO 的进程数量
Memory (内存)
*swpd : 使用虚拟内存大小,如果swpd 的值不为0 , 但是SI, SO的值长期为0, 不会影响系统性能
*free  :  空闲物理内存大小
*buff  : 用作缓冲的内存大小
*cache : 用作缓存的内存大小, 如果cache的值大的时候, 说明cache处的文件数多, 如果频繁访问到的文件都被cache处, 那么磁盘的IO BI会非常小
Swap 
*si  : 每秒从交换区写到内存的大小, 由磁盘调入内存.  swapped in from disk
*so : 每秒写入交换区的内存大小, 由内存调入磁盘      swapped to disk 
IO (现在的Linux版本块的大小为1kb)
*bi : 每秒读取的块数   block received from a block device
*bo: 每秒写入的块数   block sent to a block device 
随机磁盘读写的时候, 这两个值越大能看到CPU的IO等待值也会变大
System 
*in : 每秒中断数
*cs : 每秒上下文切换数
CPU 
*us : 用户进程执行时间百分比(user time),us 的值比较高时,说明用户进程消耗的CPU时间多, 但是如果长期超50% 的使用,那么就应该考虑优化程序算法或者加速
*sy : 内核系统进程执行时间百分比(system time)
sy 的值高时, 说明系统内核消耗的CPU资源多, 需要检查原因
*wa : IO 等待时间百分比
wa 的值高时, 说明IO 等待比较严重, 这可能是由于磁盘大量随机访问造成, 也有可能是磁盘出现瓶颈
*id :  空闲时间百分比
文件:

/proc/meminfo

/proc/stat

/proc/*/stat

五、ps 命令
作用:
Linux中的ps 命令是process status 的缩写。 ps 命令用来列出系统中当前运行的进程。 ps 命令列出的是当前进程的快照,就是执行ps 命令的那个时刻的进程。 如果想要动态的显示进程信息, 使用top 命令
状态 : 
1.运行 R(正在运行或在运行队列中等待)
2.中断  S( 休眠中, 受阻,在等待某个条件的形成或接受到信号)
3.不可中断  D(收到信号不唤醒和不可进行, 进程等待直到有中断发生)
4.僵死 Z(进程已终止,但进程描述符存在,直到父进程调用wait4() 系统调用后释放
5.停止 T(进程收到SIGSTOP 等信号后停止运行)
<  优先级高
N  优先级低
L   超线程
l    锁定
+ 在前端运行
参数:
a   显示所有进程
-a  显示同一终端下的所有程序
-A  显示所有进程
c    显示进程的真实名称
-N  反向选择
e    显示环境变量
f    显示程序间的关系
i    忽略大小写
r    显示当前终端的进程
T   显示当前终端的所有进程
u   指定用户的所有进程
au 显示较详细的信息
-elf   显示所有进程信息, 显示命令行
aux   显示目前多有的正在内存中的程序
axjf  列出类似程序树的程序显示
实例:
ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  10348   588 ?        Ss    2014   0:22 init [3]                            
root         2  0.0  0.0      0     0 ?        S<    2014   1:48 [migration/0]
root         3  0.0  0.0      0     0 ?        SN    2014   0:01 [ksoftirqd/0]
root         4  0.0  0.0      0     0 ?        S<    2014   1:39 [migration/1]
root         5  0.0  0.0      0     0 ?        SN    2014   0:01 [ksoftirqd/1]
%CPU: CPU 资源百分比
%MEM: 物理内存百分比
VSZ: 虚拟内存量(kbytes)
RSS :   固定的内存量
TTY :   运作的终端机, 若无关终端机, 则显示? ,pts/0 为网络连接进主机的程序
六、pstree 
作用: 以命令树状图的方式展现进程之间的派生关系, 显示效果比较直观。

选项:

-a 显示每个程序的完整指令, 包含路径, 参数或者是常驻服务的标志

-c 不使用精简标示法

-h 列出树状图,特别标明现在执行的程序

-l 采用长列格式显示树状图

-n 以程序名称来排序

-p 显示当前经常的进程号和进程id 

-u 显示用户名称

实例:

pstree -l 

-server.sh---java---261*[{java}]

七、free -m  /-g 
作用:显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区
选项:
-b 以byte为单位显示内存使用情况
-k 以kb 为单位显示内存使用情况
-m 以mb 为单位显示内存使用情况
-o 不显示缓冲区调节列
-s 持续观察内存使用状况
-t 显示内存总和列

实例:

free -m 
             total       used       free     shared    buffers     cached
Mem:         12011      11903        107          0        542       3239
-/+ buffers/cache:       8122       3889
Swap:         8189       4083       4106
total : 内存总和
used 已使用的内存数
free 空闲内存数
shared 当前废弃不用
buffers 缓冲内存
cached 缓存内存
total= used + free 
(-buffers/cache)  used 内存数:  Mem 中 used - buffers -cached  被程序实在消耗的内存
(+buffers/cache) free 内存数:  Mem 中 free +buffers + cached  可挪用的内存总数
swap : 交换分区
八、netstat 
作用: 打印Linux中网络系统的状态信息, 得知linux 系统的网络情况

选项:
-a 显示所有连线中的Socket 
-A 列出网络类型连线中的相关地址
-c 持续列出网络状态
-C 显示路由器配置的快取信息
-e 显示网络其他相关信息
-g 显示多重群组名单
-l  显示监控中的服务器的socket 
-n 直接使用ip 地址,不通过域名服务器
-N 显示网络硬件外围设备的符号链接名称
-p 显示正在使用Socket 的程序识别码和程序名称
-t  显示TCP 传输协议的连线状况
-u  显示UDP 传输协议的连线状况
-x  --unix

实例:

*列出所有端口(包括监听和未监听的)
netstat -a   列出所有端口
netstat -at  列出所有tcp 端口
netstat -au  列出所有udp 端口
*列出所有出于监听状态的socket
netstat -l   只显示监听端口
netstat -lt  只列出所有监听的tcp 端口
netstat -lu  只列出所有监听的udp 端口
netstat -lx  只列出所有监听的 unix 端口
*显示每个协议的统计信息
netstat -s   显示所有端口的统计信息
netstat -st  显示TCP 端口的统计信息
netstat -su  显示UDP 端口的统计信息
*在netstat 输出中显示PID和进程名称
netstat -pt  
*在netstat 输出中不显示主机, 端口和用户名(host , port or user)
netstat -an
netstat -a --numeric-ports/hosts/users
*持续输出netstat信息
netstat -c #每一秒输出网络信息
* 显示系统不支持的地址族(Address Families)
netstat -- verbose
netstat: no support for `AF IPX' on this system.
netstat: no support for `AF AX25' on this system.
netstat: no support for `AF X25' on this system.
netstat: no support for `AF NETROM' on this system.
* 显示核心路由信息
netstat -r   /  route -n
* 显示网络接口列表
netstat -i 
Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500   0 412469225      0      0      0 374093441      0      0      0 BMRU
lo        16436   0     1417      0      0      0     1417      0      0      0 LRU
netstat -ie   /ifconfig -a
*IP 和 TCP分析 查看链接某服务器端口最多的IP地址
netstat -ntu | grep :80 | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"\t",i}' | sort -nr
4        172.16.5.177
4        172.16.5.143
3        172.20.44.23
2        172.16.5.163
2        172.16.5.140
2        172.16.210.133
1        172.20.99.2
*TCP各种状态列表
netstat -nt | grep -e 127.0.0.1 -e 0.0.0.0 -e ::: -v | awk '/^tcp/ {++state[$NF]} END {for(i in state) print i,"\t",state[i]}'
TIME_WAIT        4
CLOSE_WAIT       1
ESTABLISHED      53
* 查看phpcgi 进程数, 如果接近预设值, 说明不够用。 
netstat -anpo | grep "php-cgi" |wc -l  (root 查看)
netstat -anpo | grep "unix" |wc -l   
60 
九、ulimit -n 
用来限制系统用户对shell 资源的访问
ulimit -a :显示目前资源限制的设定
ulimit -n :同一时间最多可开启的文件数
十、sar 
System Activity Reporter)命令是LInux下系统运行状态统计工具, 它将指定的操作系统状态计数器显示到标准输出设备
sar -n DEV 1 5 :  查看网卡流量
sar -q  : 查看历史负载
sar -n DEV  -f /var/log/sa: 查看某一天历史流量

lesson - 12 课程笔记的更多相关文章

  1. lesson - 11 课程笔记

    一.sed  作用: sed 是一种流编辑器,它是文本处理中非常重要的工具, 能够完美的配合正则表达式使用.处理时,把当前处理的行存储在临时缓冲区中, 称为“模式空间(pattern space)”, ...

  2. lesson - 9 课程笔记

    一. yum          作用:                     yum 命令是在Fedora 和RedHat 以及SUSE 中基于rpm 的软件包管理器,它可以使系统管理人员交互和自动 ...

  3. lesson - 8 课程笔记 tar / gzip /bzip2 / xz /

    作用:为linux的文件和目录创建档案,也可以在档案中改变文件,或者向档案中加入新的文件即用来压缩和解压文件.tar本身不具有压缩功能.他是调用压缩功能实现的  语法:tar[必要参数][选择参数][ ...

  4. lesson - 7 课程笔记 vim

    vim :修改文件 模式: 默认进来是一般模式.i 编辑模式.esc 退出编辑 .shift+: 底行模式 参数: w: write/q:quit/! force 编辑模式:  /a:光标之后插入内容 ...

  5. lesson - 10 课程笔记

    CTRL+C CTRL+D :前者用于结束一个程序,后者用于结束终端输入. --符号 *:匹配任意长度的任意字符 ?:匹配任意一个字符 #: shell 中表注释 \: 脱意符号 []:任意属于字符组 ...

  6. lesson - 6 课程笔记

    一.df  作用:  显示磁盘分区上的可使用的磁盘空间, 默认显示单位为kb . 可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间的等信息. 选项: -a :包含全部的文件系统 -h :以 ...

  7. lesson - 5 课程笔记 which/ type / whereis /locate /pwd / etc/passwd/ shadow/ group / gshadow /useradd /usermod /userdel /passwd / su sudo

    一.which 作用: which 命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录, which 命令会在环境变量$PATH 设置的目录里查找符合条件的文件.也 ...

  8. 《Neural Networks and Deep Learning》课程笔记

    Lesson 1 Neural Network and Deep Learning 这篇文章其实是 Coursera 上吴恩达老师的深度学习专业课程的第一门课程的课程笔记. 参考了其他人的笔记继续归纳 ...

  9. Andrew Ng机器学习课程笔记(五)之应用机器学习的建议

    Andrew Ng机器学习课程笔记(五)之 应用机器学习的建议 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7368472.h ...

随机推荐

  1. 2712:细菌繁殖-poj

    2712:细菌繁殖 总时间限制:  1000ms 内存限制:  65536kB 描述 一种细菌的繁殖速度是每天成倍增长.例如:第一天有10个,第二天就变成20个,第三天变成40个,第四天变成80个,… ...

  2. 实践作业1:测试管理工具实践 Day2

    1.尝试配置TestLink所需环境 安装配置php+apache+mysql时遇到一系列稀奇古怪的错误. 2.百度之后发现有可行的替代工具:Vertrigoserv(VertrigoServ是一个W ...

  3. 通过Nutch扩展点开发插件(添加自定义索引字段到solr)

    爬虫系统:通过Nutch扩展点开发插件(添加自定义索引字段到solr) 准备工作 爬虫环境 -- nutch2.3.1 + solr4.10.3 + hbase0.98 开发环境 -- Eclipse ...

  4. macOS安装beego的使用bee命令出现killed:9 解决办法

    最近想搞一个restful api,发现go还是不错的,拿来研究下 beego文档:https://beego.me/quickstart 安装之后,执行bee命令,报错如下: 应该是最新mac OS ...

  5. JWT.NET的使用

    JWT是什么 JWT全称是Json Web Token,是一种用于双方之间传递安全信息的简洁的.URL安全的表述性声明规范.JWT作为一个开放的标准( RFC 7519 ),定义了一种简洁的,自包含的 ...

  6. git上传本地文件到gitlab

    The repository for this project is empty If you already have files you can push them using command l ...

  7. 查看主机DNSserver

    一.Nslookup(name server lookup)( 域名查询):是一个用于查询 Internet 域名信息或诊断DNS server问题的工具.nslookup能够指定查询的类型,能够查到 ...

  8. hdu 5305 friends

    每一次比赛的时候脑子都卡顿, 这次更离谱,我居然二进制枚举边,这么大的复杂度.而且剪不了枝 后来学长说着是道爆搜.搜每一条边.恍然大悟. 仅仅须要剪掉点的度数是奇数的时候,或者他的线上朋友或线下朋友大 ...

  9. com.sun.mail.smtp.SMTPSendFailedException: 553 Mail from must equal authorized user

    1.错误描写叙述 553 Mail from must equal authorized user com.sun.mail.smtp.SMTPSendFailedException: 553 Mai ...

  10. vue.js使用webpack发布,部署到服务器上之后在浏览器中可以查看到vue文件源码

    webpack+vue 2.0打包发布之后,将发布的文件部署到服务器中之后,浏览器中访问的时候会出现一个webpack文件夹,里边会显示vue文件源码 如果不想让vue源文件显示出来,可以在confi ...