查看IP地址
ifconfig ens33 | awk -F "[ :]+" '/inet /{print $3}'
格式化输出所有网卡的IP
for dev in $(awk -F : '{if(NR>2)print $1}' /proc/net/dev);do printf '%+10s: ' $dev;echo $(ip addr show $dev | awk -F "[ /]+" '/inet /{print $3}'); done
top
主要参数
d:指定更新的间隔,以秒计算。
q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。
c:显示进程完整的路径与名称。
S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。
s:安全模式。
i:不显示任何闲置(Idle)或无用(Zombie)的行程。
n:显示更新的次数,完成后将会退出to
显示参数:
PID(Process ID):进程标示号。
USER:进程所有者的用户名。
PR:进程的优先级别。
NI:进程的优先级别数值。
VIRT:进程占用的虚拟内存值。
RES:进程占用的物理内存值。
SHR:进程使用的共享内存值。
S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。
%CPU:该进程占用的CPU使用率。
%MEM:该进程占用的物理内存和总内存的百分比。
TIME+:该进程启动后占用的总的CPU时间。
Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。
top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。
<空格>:立刻刷新。
P:根据CPU使用大小进行排序。
T:根据时间、累计时间排序。
q:退出top命令。
m:切换显示内存信息。
t:切换显示进程和CPU状态信息。
c:切换显示命令名称和完整命令行。
M:根据使用内存大小进行排序。
W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。
还有一种办法是 ps -ef | sort -k7 ,将进程按运行时间排序,看哪个进程消耗的cpu时间最多。
sar
使用指南
sar [options] [-A] [-o file] t [n]
其中:
t为采样间隔,n为采样次数,默认值是1;
-o file表示将命令结果以二进制格式存放在文件中,file 是文件名。
options 为命令行选项,sar命令常用选项如下:
-A:所有报告的总和
-u:输出CPU使用情况的统计信息
-v:输出inode、文件和其他内核表的统计信息
-d:输出每一个块设备的活动信息
-r:输出内存和交换空间的统计信息
-b:显示I/O和传送速率的统计信息
-a:文件读写情况
-c:输出进程统计信息,每秒创建的进程数
-R:输出内存页面的统计信息
-y:终端设备活动情况
-w:输出系统交换活动信息
free
======================================
1.作用
free命令用来显示内存的使用情况,使用权限是所有用户。
2.格式
free [-b-k-m] [-o] [-s delay] [-t] [-V]
3.主要参数
-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。
-s delay:显示每隔多少秒数来显示一次内存使用情况。
-t:显示内存总和列。
-o:不显示缓冲区调节列。
uptime
======================================
18:59:15 up 25 min, 2 users, load average: 1.23, 1.32, 1.21
现在的时间
系统开机运转到现在经过的时间
连线的使用者数量
最近一分钟,五分钟和十五分钟的系统负载
参数: -V 显示版本资讯。
vmstat
======================================
procs ———–memory———- —swap– —–io—- –system– —-cpu—-
r b swpd free buff cache si so bi bo in cs us sy id wa
0 1 24980 10792 8296 47316 5 19 205 52 1161 698 26 3 1 70
1 观察磁盘活动情况
磁盘活动情况主要从以下几个指标了解:
bi:表示从磁盘每秒读取的块数(blocks/s)。数字越大,表示读磁盘的活动越多。
bo:表示每秒写到磁盘的块数(blocks/s)。数字越大,表示写磁盘的活动越多。
wa:cpu等待磁盘I/O(未决的磁盘IO)的时间比例。数字越大,表示文件系统活动阻碍cpu的情况越严重,因为cpu在等待慢速的磁盘系统提供数据。wa为0是最理想的。如果wa经常大于10,可能文件系统就需要进行性能调整了。
2 观察cpu活动情况
vmstat比top更能反映出cpu的使用情况:
us:用户程序使用cpu的时间比例。这个数字越大,表示用户进程越繁忙。
sy:系统调用使用cpu的时间比例。注意,NFS由于是在内核里面运行的,所以NFS活动所占用的cpu时间反映在sy里面。这个数字经常很大 的话,就需要注意是否某个内核进程,比如NFS任务比较繁重。如果us和sy同时都比较大的话,就需要考虑将某些用户程序分离到另外的服务器上面,以免互 相影响。
id:cpu空闲的时间比例。
wa:cpu等待未决的磁盘IO的时间比例。
iostat
======================================
用于统计CPU的使用情况及tty设备、硬盘和CD-ROM的I/0量
参数:
-c 只显示CPU行
-d 显示磁盘行
-k 以千字节为单位显示磁盘输出
-t 在输出中包括时间戳
-x 在输出中包括扩展的磁盘指标
avg-cpu: %user %nice %sys %iowait %idle
20.25 0.18 2.61 76.39 0.57
%iowait 等待本地I/O时CPU空闲时间的百分比
%idle 未等待本地I/O时CPU空闲时间的百分比
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
hda 9.86 284.34 84.48 685407 2036
每秒传输数(tps)、每秒512字节块读取数(Blk_read/s)、每秒512字节块写入数(Blk_wrtn/s)和512字节块读取(Blk_read)和写入(Blk_wrtn)的总数量。
proc
proc:这个目录本身是一个虚拟文件系统。他放置的数据都是在内存当中,例如系统内核、进程、外部设备的状态及网络状态等。因为这个目录下的数据都是在内存当中,所以本身不占任何硬盘空间
├1/ 关于进程1的信息目录。每个进程在/proc 下一个名为其进程号的目录。
├cpuinfo 处理器信息,如类型、制造商、型号和性能。
├devices 当前运行的核心配置的设备驱动的列表。
├dma 显示当前使用的DMA通道。
├filesystems 核心配置的文件系统。
├interrupts 显示使用的中断,and how many of each there have been.
├ioports 当前使用的I/O端口。
├kcore 系统物理内存映象。与物理内存大小一样,但实际不占这么多内存;
├kmsg 核心输出的消息。也被送到syslog 。
├ksyms 核心符号表。
├loadavg 系统”平均负载”;3个没意义的指示器指出系统当前的工作量。
├meminfo 存储器使用信息,包括物理内存和swap。
├modules 当前加载了哪些核心模块。
├net 网络协议状态信息。
├self 到查看/proc 的程序的进程目录的符号连接。
├stat 系统的不同状态
├uptime 系统启动的时间长度。
└version 核心版本。
系统
======================================
uname -a # 查看内核/操作系统/CPU信息
head -n 1 /etc/issue # 查看操作系统版本
cat /proc/cpuinfo # 查看CPU信息
hostname # 查看计算机名
lspci -tv # 列出所有PCI设备
lsusb -tv # 列出所有USB设备
lsmod # 列出加载的内核模块
env # 查看环境变量
资源
======================================
free -m # 查看内存使用量和交换区使用量
df -h # 查看各分区使用情况
du -sh # 查看指定目录的大小
grep MemTotal /proc/meminfo # 查看内存总量
grep MemFree /proc/meminfo # 查看空闲内存量
uptime # 查看系统运行时间、用户数、负载
cat /proc/loadavg # 查看系统负载
进程
pstree #查看进程树
nestat -altnp #查看进程的网络信息
lsof -i : "port" #查看端口的进程信息
ps -ef #准的格式显示进程
UID //用户ID、但输出的是用户名
PID //进程的ID
PPID //父进程ID
C //进程占用CPU的百分比
STIME //进程启动到现在的时间
TTY //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。
CMD //命令的名称和参数
ps -aux #BSD的格式来显示
USER //用户名
%CPU //进程占用的CPU百分比
%MEM //占用内存的百分比
VSZ //该进程使用的虚拟內存量(KB)
RSS //该进程占用的固定內存量(KB)(驻留中页的数量)
STAT //进程的状态
START //该进程被触发启动时间
TIME //该进程实际使用CPU运行的时间
“&”,进程启动后会直接放入后台运行
Ctrl+z,可以将当前执行的任务调入后台并暂停执行
jobs -l 查看当前终端中在后台运行的进程任务,并显示该进程的PID号
fg 任务编号(将暂停的进程重新调到前台运行)
bg 任务编号(将后台暂停执行的任务恢复运行)
kill 命令终止进程的命令格式: kill PID号 如果无法响应终止信号,可以结合 -9 选项: kill -9 PID号(-9表示强制终止进程,但强制终止会导致程序运行的部分数据丢失,应谨慎使用)
磁盘和分区
======================================
mount | column -t # 查看挂接的分区状态
fdisk -l # 查看所有分区
swapon -s # 查看所有交换分区
hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
dmesg | grep IDE # 查看启动时IDE设备检测状况
网络
======================================
ifconfig # 查看所有网络接口的属性
iptables -L # 查看防火墙设置
route -n # 查看路由表
netstat -lntp # 查看所有监听端口
netstat -antp # 查看所有已经建立的连接
netstat -s # 查看网络统计信息
lsof -i : "port" #查看端口Port的信息
用户
w # 查看活动用户
id # 查看指定用户信息
last # 查看用户登录日志
cut -d: -f1 /etc/passwd # 查看系统所有用户
cut -d: -f1 /etc/group # 查看系统所有组
crontab -l # 查看当前用户的计划任务
服务
chkconfig --list # 列出所有系统服务
chkconfig --list | grep on # 列出所有启动的系统服务
chkconfig --add name:增加一项新的服务
chkconfig --del name:删除服务
chkconfig [--level levels] name:设置某一服务在指定的运行级别
程序
rpm -qa # 查看所有安装的软件
rpm -ql | grep software #查看软件相关路径
/etc/fstab
/etc/fstab文件的每一行都遵循以下格式:
<device> <dir> <type> <options> <dump> <pass>
device:指定加载的磁盘分区或移动文件系统,除了指定设备文件外,也可以使用UUID、LABEL来指定分区;
dir:指定挂载点的路径;
type:指定文件系统的类型,如ext3,ext4等;
options:指定挂载的选项,默认为defaults,其他可用选项包括acl,noauto,ro等等;
dump:表示该挂载后的文件系统能否被dump备份命令作用;0表示不能,1表示每天都进行dump备份,2表示不定期进行dump操作。
pass:表示开机过程中是否校验扇区;0表示不要校验,1表示优先校验(一般为根目录),2表示为在1级别校验完后再进行校验