lesson - 12 课程笔记
- 用于显示已经登录系统的用户列表, 并显示用户正在执行的指令。 执行这个命令可得知目前登入系统的用户有哪些人, 以及他们正在执行的程序。 单独执行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 WHATroot pts/0 222.94.97.122 20:39 1.00s 0.00s 0.00s w
-b 以批处理模式操作-c 显示完整的命令-d 屏幕刷新间隔时间-I 忽略失效过程-s 保密模式-S 累积模式-i 设置时间间隔-u 指定用户名-p 指定进程-n 循环显示的次数
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.92Tasks: 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%stMem: 4147888k total, 2493092k used, 1654796k free, 158188kbuffers Swap: 5144568k total, 56k used, 5144512k free, 2013180k cached
top - 09:44:56[当前系统时间]16 days[系统已经运行了16天]1 user[个用户当前登录]load average: 9.594.751.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 -> 190.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 : 直接运行后退出
-a 显示活动内页-f 显示启动后创建的进程总数-m 显示slab 信息-n 头信息仅显示一次-s 以表格方式显示事件计数器和内存状态-d 报告磁盘状态-p 显示指定的硬盘分区状态-S 输出信息的单位
事件间隔:状态信息刷新的时间间隔次数: 显示报告的次数
vmstat 3procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----r b swpd free buff cache si so bi bo in cs us sy id wa st0 0 0 952092 10236 38704 0 0 47 3 17 24 0 0 99 0 00 0 0 952084 10236 38704 0 0 0 0 5 7 0 0 100 0 00 0 0 952084 10236 38704 0 0 0 0 5 6 0 0 100 0 00 0 0 952084 10236 38704 0 0 0 0 6 8 0 0 100 0 00 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 diskIO (现在的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
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 auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 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 为网络连接进主机的程序
-a 显示每个程序的完整指令, 包含路径, 参数或者是常驻服务的标志
-c 不使用精简标示法
-h 列出树状图,特别标明现在执行的程序
-l 采用长列格式显示树状图
-n 以程序名称来排序
-p 显示当前经常的进程号和进程id
-u 显示用户名称
实例:
pstree -l
-server.sh---java---261*[{java}]
-b 以byte为单位显示内存使用情况-k 以kb 为单位显示内存使用情况-m 以mb 为单位显示内存使用情况-o 不显示缓冲区调节列-s 持续观察内存使用状况-t 显示内存总和列
实例:
free -mtotal used free shared buffers cachedMem: 12011 11903 107 0 542 3239-/+ buffers/cache: 8122 3889Swap: 8189 4083 4106total : 内存总和used 已使用的内存数free 空闲内存数shared 当前废弃不用buffers 缓冲内存cached 缓存内存total= used + free(-buffers/cache) used 内存数: Mem 中 used - buffers -cached 被程序实在消耗的内存(+buffers/cache) free 内存数: Mem 中 free +buffers + cached 可挪用的内存总数swap : 交换分区
-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 端口*列出所有出于监听状态的socketnetstat -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 -annetstat -a --numeric-ports/hosts/users*持续输出netstat信息netstat -c #每一秒输出网络信息* 显示系统不支持的地址族(Address Families)netstat -- verbosenetstat: 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 -iIface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flgeth0 1500 0 412469225 0 0 0 374093441 0 0 0 BMRUlo 16436 0 1417 0 0 0 1417 0 0 0 LRUnetstat -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 -nr4 172.16.5.1774 172.16.5.1433 172.20.44.232 172.16.5.1632 172.16.5.1402 172.16.210.1331 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 4CLOSE_WAIT 1ESTABLISHED 53* 查看phpcgi 进程数, 如果接近预设值, 说明不够用。netstat -anpo | grep "php-cgi" |wc -l (root 查看)netstat -anpo | grep "unix" |wc -l60
用来限制系统用户对shell 资源的访问ulimit -a :显示目前资源限制的设定ulimit -n :同一时间最多可开启的文件数
System Activity Reporter)命令是LInux下系统运行状态统计工具, 它将指定的操作系统状态计数器显示到标准输出设备sar -n DEV 1 5 : 查看网卡流量sar -q : 查看历史负载sar -n DEV -f /var/log/sa: 查看某一天历史流量
lesson - 12 课程笔记的更多相关文章
- lesson - 11 课程笔记
一.sed 作用: sed 是一种流编辑器,它是文本处理中非常重要的工具, 能够完美的配合正则表达式使用.处理时,把当前处理的行存储在临时缓冲区中, 称为“模式空间(pattern space)”, ...
- lesson - 9 课程笔记
一. yum 作用: yum 命令是在Fedora 和RedHat 以及SUSE 中基于rpm 的软件包管理器,它可以使系统管理人员交互和自动 ...
- lesson - 8 课程笔记 tar / gzip /bzip2 / xz /
作用:为linux的文件和目录创建档案,也可以在档案中改变文件,或者向档案中加入新的文件即用来压缩和解压文件.tar本身不具有压缩功能.他是调用压缩功能实现的 语法:tar[必要参数][选择参数][ ...
- lesson - 7 课程笔记 vim
vim :修改文件 模式: 默认进来是一般模式.i 编辑模式.esc 退出编辑 .shift+: 底行模式 参数: w: write/q:quit/! force 编辑模式: /a:光标之后插入内容 ...
- lesson - 10 课程笔记
CTRL+C CTRL+D :前者用于结束一个程序,后者用于结束终端输入. --符号 *:匹配任意长度的任意字符 ?:匹配任意一个字符 #: shell 中表注释 \: 脱意符号 []:任意属于字符组 ...
- lesson - 6 课程笔记
一.df 作用: 显示磁盘分区上的可使用的磁盘空间, 默认显示单位为kb . 可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间的等信息. 选项: -a :包含全部的文件系统 -h :以 ...
- lesson - 5 课程笔记 which/ type / whereis /locate /pwd / etc/passwd/ shadow/ group / gshadow /useradd /usermod /userdel /passwd / su sudo
一.which 作用: which 命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录, which 命令会在环境变量$PATH 设置的目录里查找符合条件的文件.也 ...
- 《Neural Networks and Deep Learning》课程笔记
Lesson 1 Neural Network and Deep Learning 这篇文章其实是 Coursera 上吴恩达老师的深度学习专业课程的第一门课程的课程笔记. 参考了其他人的笔记继续归纳 ...
- Andrew Ng机器学习课程笔记(五)之应用机器学习的建议
Andrew Ng机器学习课程笔记(五)之 应用机器学习的建议 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7368472.h ...
随机推荐
- JAVAFX-5事件总结
事件监听 在RIA 或者说 桌面客户端gui android 开发中,事件的机制是必须的要学习了解的, 分类处理类型 在Java GUI 和swing中,事件通常通过实现listener的接口函数,并 ...
- [flask/python/web] 解析flask web开发(Miguel著)一书第11章主页不显示博文表单的问题
---------------------------------------------以下内容2017.7.14更新---------------------------------------- ...
- django 图片上传 前段+后端
1.前台<form method="post" action="./writerApply" enctype="multipart/form-d ...
- POJ 1511 Invitation Cards 链式前向星+spfa+反向建边
Invitation Cards Time Limit: 8000MS Memory Limit: 262144K Total Submissions: 27200 Accepted: 902 ...
- 前端chrome浏览器调试
引言 "工欲善其事,必先利其器" 恩,这句话我觉得说的特别有道理,举个例子来说吧,厉害的化妆师都有一套非常专业的刷子,散粉刷负责定妆,眼影刷负责打眼影,各司其职,有了专业的工具才能 ...
- OBS源码解析(3)OBSApp类介绍
OBSApp类有以下功能: 1.负责配置文件管理 2.版本信息管理 3.主界面OBSBasic对象管理 4.obs模块初始化 class OBSApp : public QApplication { ...
- iOS 断点上传文件
项目开发中,有时候我们需要将本地的文件上传到服务器,简单的几张图片还好,但是针对iPhone里面的视频文件进行上传,为了用户体验,我们有必要实现断点上传.其实也不是真的断点,这里我们只是模仿断点机制. ...
- 用shell制作IP脚本
vim ip.sh #!/bin/bashread -p "eth:" eread -p "ip:" ip1read -p "netmask:&qu ...
- SQL-Oracle游标
游标提供了一种从集合性质的结果集中提供出单条记录的手段.初始时指向首记录. 游标的种类 静态游标.REF游标 静态游标:能够理解为一个数据快照,打开游标后的结果集是数据库表中数据的备份,数据不会对表的 ...
- google protocol buffer的原理和使用(四)
有个电子商务的系统(如果用C++实现).当中的模块A须要发送大量的订单信息给模块B.通讯的方式使用socket. 如果订单包含例如以下属性: ----------------------------- ...