Linux服务器基本信息通常包括如下几方面:
- cpu信息
- 内存使用信息
- 硬盘使用情况
- 服务器负载状况
- 其它参数
1.获取CPU的详细情况
判断依据:
- 具有相同core id的CPU是同一个core的超线程
- 具有相同"physical id"的CPU是同一个CPU封装的线程或核心
a. 显示物理CPU个数
cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l
b. 显示每个物理CPU的个数(核数)
cat /proc/cpuinfo |grep "cpu cores"|uniq
c. 显示逻辑CPU个数
cat /proc/cpuinfo|grep "processor"|wc -l
理论上不使用超线程技术的前提下有如下结论:
物理CPU个数*核数=逻辑CPU个数
配置服务器的应用时,以逻辑CPU个数为准
2.获去服务器内存使用情况
- total: 内存总量
- used: 已使用
- free: 未使用
- shared: 多进程共享的内存总量
- -buffers/cache: 已使用内存
- +buffers/cache: 可用内存
可用内存=free+buffers+cached(642=67+217+357)
3.查看服务器硬盘使用情况
3. 查看硬盘的I/O性能: iostat -d -x -k 10 2 (-d显示磁盘状态,-x显示跟io相关的扩张数据,-k以KB为单位,10表示每隔10秒刷新一次,2表示刷新2次,默认一直刷新)
[root@VM_41_84_centos ~]# iostat -d -x -k 10 2 Linux 2.6.32-642.15.1.el6.x86_64 (VM_41_84_centos) 05/03/17 _x86_64_ (1 CPU) Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util vda 0.93 6.76 0.71 1.67 13.49 33.60 39.43 0.05 21.55 6.68 27.88 2.20 0.53 vdb 0.00 0.14 0.02 0.11 0.06 0.97 16.65 0.00 5.28 2.89 5.64 2.41 0.03 dm-0 0.00 0.00 0.34 0.59 4.05 3.50 16.17 0.06 60.88 8.23 91.31 0.37 0.03 dm-2 0.00 0.00 0.02 0.07 0.21 0.25 10.95 0.04 465.54 4.70 604.18 0.99 0.01 dm-3 0.00 0.00 0.01 0.00 0.03 0.00 10.16 0.00 3.09 0.28 14.74 0.19 0.00 dm-1 0.00 0.00 0.00 0.00 0.02 0.01 10.52 0.00 5.41 0.61 20.81 0.27 0.00 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util vda 0.00 0.10 0.00 0.20 0.00 1.20 12.00 0.00 11.00 0.00 11.00 11.00 0.22 vdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 dm-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 dm-2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 dm-3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
参数说明:
- rrqm/s: 每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge)
- wrqm/s: 每秒进行merge的写操作数
- r/s: 每秒完成的读I/O设备的次数
- w/s: 每秒完成的写I/O设备的次数
- rkB/s: 每秒读取多少KB
- wkB/s: 每秒写多上KB
- avgrq-sz: 平均每次设备I/O操作的数据大小(扇区)
- avgqu-sz: 平均I/O队列长度
- await: 平均每次设备I/O操作的等待时间ms
- svctm: 平均每次设备I/O操作时间ms
- %util: 一秒钟有百分之多上时间用于I/O操作
平时只要关注%util,await两个参数即可
%util越接近100%,说明产生的I/O请求越多,越容易满负荷
await 取决于svctm,最好低于5ms,如果大于5ms说明I/O压力大,可以考虑更换响应速度更快的硬盘.
4.查看服务器平均负载
概念: 特定时间间隔内运行队列中的平均进程数可以反映系统繁忙程度
load average: 0.01, 0.03, 0.02表示过去1分钟,5分钟,15分钟进程队列中的平均进程数量
当这三个数长期大于逻辑CPU个数时说明负载过大
vmstat监控Linux系统的整体性能
看一个线上的,cpu部分已经处于饱和状态了。
参数介绍:
procs:
- r: 等待运行的进程数
- b: 处于非中断睡眠状态的进程数
memory:
- swpd: 虚拟内存使用情况(KB)
- free: 空闲内存(KB)
swap:
- si: 从磁盘交换到内存的交换页数量
- so: 从内存交换到磁盘的交换页数量
io:
- bi: 发送到设备的块数(块/s)
- bo: 从块设备接收到的块数(块/s)
system:
- in: 每秒中断数
- cs: 每秒的环境上下文切换数
cpu:(cpu总使用的百分比)
- us: cpu使用时间
- sy: cpu系统使用时间
- id: 闲置时间
标准情况下r和b的值应为:r<5,b约为0.
如果us+sy<70%,系统性能较好
如果us+sy>85,系统性能糟糕.
5.其他信息
查看系统32、64位
查看服务器发行版相关信息
查看系统已经载入的相关模块
查看PCI设备信息
- 海报