目录
使用top命令的话,重点关注的是 %CPU、%MEM 、load average 三个指标
-
在这个命令下,按1的话,可以看到每个CPU的占用情况
-
第一行是任务队列信息(系统运行状态及平均负载),与uptime命令结果相同
-
up部分的字段信息代表了当前系统的运行时间,即未重启时间,时间越长系统越稳定
-
load average 任务队列的平均长度
- 单核情况下,1.0为满负荷,超过1为超负荷,理想值为0.7
- 多核情况下,CPU核数*0.7=理想负荷
-
第二行是tasks任务进程相关信息
-
包括了进程总数、正在运行的进程数、睡眠进程数、停止进程数和僵尸进程数(zombie)
-
第三行是CPU相关信息,如果是多核CPU,按数字1可显示各核CPU信息,此时1行将转为Cpu核数行,数字1可以来回切换
- us 用户空间占用CPU百分比,例如:Cpu(s): 12.7%us
- sy 内核空间占用CPU百分比,例如:8.4%sy
- ni 用户进程空间内改变过优先级的进程占用CPU百分比,例如:0.0%ni
- id 空闲CPU百分比,例如:77.1%id
- wa 等待输入输出的CPU时间百分比,例如:0.0%wa
- hi CPU服务于硬件中断所耗费的时间总额,例如:0.0%hi
- si CPU服务软中断所耗费的时间总额,例如:1.8%si
- st Steal time 虚拟机被hypervisor偷去的CPU时间(如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)
-
第四行是内存相关信息(Mem: 12***36k total, 12***52k used, 139884k free, 64564k buffers)
- 用作内核缓存的内存量,例如:64564k buffers
-
第五行是Swap 交换分区相关信息(Swap: 2097144k total, 151016k used, 1946128k free, 3120236k cached)
- 缓冲的交换区总量,3120236k cached
2. 查看CPU性能的指令?vmstat?
命令格式:vmstat -n 2 3
一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数(单位秒),第二个参数是采样的次数
us:用户进程消耗CPU时间百分比,us值高,用户进程消耗CPU时间多,如果长期大于50%,优化程序
sy:内核进程消耗的CPU时间百分比
us + sy 参考值为80%,如果us + sy 大于80%,说明可能存在CPU不足,从上面的图片可以看出,us + sy还没有超过百分80,因此说明蘑菇博客的CPU消耗不是很高
id:处于空闲的CPU百分比
wa:系统等待IO的CPU时间百分比
st:来自于一个虚拟机偷取的CPU时间比
3. 查看内存使用情况的指令?free?
- 应用程序可用内存数:free -m
- 应用程序可用内存/系统物理内存 > 70% 内存充足
- 应用程序可用内存/系统物理内存 < 20% 内存不足,需要增加内存
- 20% < 应用程序可用内存/系统物理内存 < 70%,表示内存基本够用
free -h:以人类能看懂的方式查看物理内存
free -m:以MB为单位,查看物理内存
free -g:以GB为单位,查看物理内存
4. 查看硬盘使用情况的指令?df?
- df查看磁盘分区的使用情况,了解磁盘总量及用量,默认单位为KB
- du命令用于查看文件、目录在磁盘中占用的空间的大小
- 与ls -h不同之处在于,ls -h是查看文件或目录的实际大小,而du是查看文件或者目录在磁盘中占用的块区的大小。由于块大小为4k,且同一块中只能存放一个文件,因此当文件实际大小不足4k时,du命令的显示结果依然为4k
5. 查看网络IO情况的指令?ifstat?
- 默认本地没有,下载ifstat
6. 查看机器已建立的TCP连接的指令?
- netstat命令
- 其中包含了唯一标识一条连接的四元组
Linux常用命令
8. cd命令的作用?
-
回到上一次所在目录
-
cd -
9. mkdir命令的作用?
-
创建多层目录
-
mkdir -p xiyou/dssz/meihouwang
-
rmdir 删除空目录
10. cp命令的作用?
- cp [选项] source dest
- -r 递归复制整个文件夹
11. rm命令的作用?
- rm [选项] deleteFile
12. mv命令的作用?
- 移动文件与重命名
13. cat命令的作用?
- 查看文件内容
- 一般用于一页能显示完的内容
14. more命令的作用?
- 文件内容分屏查看器
less的功能类似,不过不是一次性加载整个文件,而是按照需要展示的部分来加载
15. echo命令的作用?
-
输出内容到控制台
-
配合参数 -e 能够输出反斜线控制的字符
16. head和tail命令的作用?
- 显示文件的头部和尾部
17. >和>>的作用和区别?
18. ln命令的作用?
-
软连接
-
类似于快捷方式
19. date命令的作用?
-
时间日期类
-
date
- 显示当前时间
-
设置系统当前时间
20. 文件属性了解吗?
21. chmod命令的作用?
- 改变权限
22. find命令的作用?
- 查找文件或者目录
23. grep命令的作用?
- 过滤查找及“|”管道符
24. which命令的作用?
- 查找命令
25. tar命令的作用
- 打包
26. df命令的作用?
- 查看磁盘空间使用情况
27. ps命令的作用?
-
查看当前系统进程状态
-
常用选项
-
-e 显示所有进程。 -f 全格式。 -h 不显示标题。 -l 长格式。 -w 宽输出。 -a 显示终端上的所有进程,包括其他用户的进程。 -r 只显示正在运行的进程。
-u 以用户为主的格式来显示程序状况。
-x 显示所有程序,不以终端机来区分。
28. kill命令的作用?
- 终止进程
30. 如何显示网络统计信息和端口占用情况?
- netstat 命令
- 参数说明
- -a
- 显示所有套接字,包括监听的和未监听的
- -t
- 选出TCP套接字
- -u
- 选出UDP套接字
- -l
- 选出处于listen状态的连接
- -n
- 禁止使用端口的别名替代数字,比如说ssh代替22端口
- -p
- 显示连接归属的进程信息,可以查看端口被哪个进程占用
- -i
- 显示网卡信息
- -a
31. 如何查看某个端口是否被占用?
netstat -nlp | grep xxxxx