Skip to content

Commit cd506ba

Browse files
committed
2018-01-28 补充监控相关命令
1 parent d008b86 commit cd506ba

File tree

4 files changed

+135
-23
lines changed

4 files changed

+135
-23
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
- [Yum 下载安装包及对应依赖包](Off-line-Yum-Install.md)
3131
- [Zsh 入门](Zsh.md)
3232
- [日常维护](maintenance.md)
33+
- [日常监控](monitor.md)
3334
- [nmon 系统性能监控工具](Nmon.md)
3435
- [SSH(Secure Shell)介绍](SSH.md)
3536
- [FTP(File Transfer Protocol)介绍](FTP.md)

centos-settings/Cpu-Info.md

Lines changed: 0 additions & 22 deletions
This file was deleted.

centos-settings/centos-settings-toc.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
- [CentOS 网络设置](CentOS-Network-Settings.md)
22
- [CentOS 源设置](CentOS-Extra-Packages.md)
33
- [CentOS 图形界面的关闭与开启](Close-XWindow.md)
4-
- [CPU 信息分析](Cpu-Info.md)
54
- [清除系统缓存](Clear-Cache.md)
65
- [修改定时清理 /tmp 目录下的文件](Clear-Tmp-Directory.md)
76

monitor.md

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
# 常见日常监控
2+
3+
## 系统查看
4+
5+
- 查看 CentOS 版本号:`cat /etc/redhat-release`
6+
7+
## CPU 的基本信息查看
8+
9+
- Demo CPU 型号:[Intel® Xeon® Processor E5-2620 v2(15M Cache, 2.10 GHz)](http://ark.intel.com/products/75789/Intel-Xeon-Processor-E5-2620-v2-15M-Cache-2_10-GHz)
10+
- 该 CPU 显示的数据中有一项这个要注意:`Intel® Hyper-Threading Technology``Yes`。表示该 CPU 支持超线程
11+
- `cat /proc/cpuinfo`,查看 CPU 总体信息
12+
- `grep 'physical id' /proc/cpuinfo | sort -u | wc -l`,查看物理 CPU 个数
13+
- 结果:2
14+
- 物理 CPU:物理 CPU 也就是机器外面就能看到的一个个 CPU,每个物理 CPU 还带有单独的风扇
15+
- `grep 'core id' /proc/cpuinfo | sort -u | wc -l`,查看每个物理 CPU 的核心数量
16+
- 结果:6,因为每个物理 CPU 是 6,所有 2 个物理 CPU 的总核心数量应该是:12
17+
- 核心数:一个核心就是一个物理线程,英特尔有个超线程技术可以把一个物理线程模拟出两个线程来用,充分发挥 CPU 性能,意思是一个核心可以有多个线程。
18+
- `grep 'processor' /proc/cpuinfo | sort -u | wc -l`,查看 CPU 总的线程数,一般也叫做:逻辑 CPU 数量
19+
- 结果:24,正常情况下:CPU 的总核心数量 == CPU 线程数,但是如果该 CPU 支持超线程,那结果是:CPU 的总核心数量 X 2 == CPU 线程数
20+
- 线程数:线程数是一种逻辑的概念,简单地说,就是模拟出的 CPU 核心数。比如,可以通过一个 CPU 核心数模拟出 2 线程的 CPU,也就是说,这个单核心的 CPU 被模拟成了一个类似双核心 CPU 的功能。
21+
22+
23+
## CPU 监控
24+
25+
- Linux 的 CPU 简单监控一般简单
26+
- 常用命令就是 `top`
27+
- 命令:`top -bn1`,可以完全显示所有进程出来,但是不能实时展示数据,只能暂时命令当时的数据。
28+
- `top` 可以动态显示进程所占的系统资源,每隔 3 秒变一次,占用系统资源最高的进程放最前面。
29+
-`top` 命令状态下还可以按数字键 <kbd>1<kbd> 显示各个 CPU 线程使用状态
30+
-`top` 命令状态下按 <kbd>shfit</kbd> + <kbd>m</kbd> 可以按照 **内存使用** 大小排序
31+
-`top` 命令状态下按 <kbd>shfit</kbd> + <kbd>p</kbd> 可以按照 **CPU 使用** 大小排序
32+
- 展示数据上,%CPU 表示进程占用的 CPU 百分比,%MEM 表示进程占用的内存百分比
33+
34+
35+
## 内存监控
36+
37+
- Linux 的内存本质是虚拟内存,这样说是因为它的内存是:物理内存 + 交换分区。有一个内存模块来管理应用的内存使用。
38+
- 如果所以你内存大,可以考虑把 swap 分区改得小点或者直接关掉。
39+
- 但是,如果是用的云主机,一般是没交换分区的,`free -g` 中的 Swap 都是 0。
40+
- 查看内存使用命令:
41+
- 以 M 为容量单位展示数据:`free -m`
42+
- 以 G 为容量单位展示数据:`free -g`
43+
- CentOS 6 和 CentOS 7 展示出来的数据有差别,CentOS 7 比较容易看,比如下面的数据格式是 CentOS 7 的 `free -g`:
44+
45+
```
46+
total used free shared buff/cache available
47+
Mem: 11 0 10 0 0 10
48+
Swap: 5 0 5
49+
50+
```
51+
52+
- 在以上结果中,其中可以用的内存是看 `available` 列。
53+
54+
55+
## 硬盘查看
56+
57+
- `df -h`:自动以合适的磁盘容量单位查看磁盘大小和使用空间
58+
- `df -m`:以磁盘容量单位 M 为数值结果查看磁盘使用情况
59+
- `du -sh /opt/tomcat6`:查看tomcat6这个文件夹大小 (h的意思human-readable用人类可读性较好方式显示,系统会自动调节单位,显示合适大小的单位)
60+
- `du /opt --max-depth=1 -h`:查看指定录入下包括子目录的各个文件大小情况
61+
62+
## 硬盘 IO 监控
63+
64+
- 安装 iotop:`yum install -y iotop`
65+
- 查看命令:`iotop`
66+
- 使用 dd 命令测量服务器延迟:`dd if=/dev/zero of=/opt/ioTest2.txt bs=512 count=1000 oflag=dsync`
67+
- 使用 dd 命令来测量服务器的吞吐率(写速度):`dd if=/dev/zero of=/opt/ioTest1.txt bs=1G count=1 oflag=dsync`
68+
- 该命令创建了一个 10M 大小的文件 ioTest1.txt,其中参数解释:
69+
- if 代表输入文件。如果不指定 if,默认就会从 stdin 中读取输入。
70+
- of 代表输出文件。如果不指定 of,默认就会将 stdout 作为默认输出。
71+
- bs 代表字节为单位的块大小。
72+
- count 代表被复制的块数。
73+
- /dev/zero 是一个字符设备,会不断返回0值字节(\0)。
74+
- oflag=dsync:使用同步I/O。不要省略这个选项。这个选项能够帮助你去除 caching 的影响,以便呈现给你精准的结果。
75+
- conv=fdatasyn: 这个选项和 oflag=dsync 含义一样。
76+
77+
- 该命令执行完成后展示的数据:
78+
79+
```
80+
[root@youmeek ~]# dd if=/dev/zero of=/opt/ioTest1.txt bs=1G count=1 oflag=dsync
81+
记录了1+0 的读入
82+
记录了1+0 的写出
83+
1073741824字节(1.1 GB)已复制,5.43328 秒,198 MB/秒
84+
```
85+
86+
- 利用 hdparm 测试硬盘速度:`yum install -y hdparm`
87+
- 查看硬盘分区情况:`df -h`,然后根据分区测试:
88+
- 测试硬盘分区的读取速度:`hdparm -T /dev/sda`
89+
- 测试硬盘分区缓存的读取速度:`hdparm -t /dev/sda`
90+
- 也可以以上两个参数一起测试:`hdparm -Tt /dev/sda`,结果数据如下:
91+
92+
```
93+
/dev/sda:
94+
Timing cached reads: 3462 MB in 2.00 seconds = 1731.24 MB/sec
95+
Timing buffered disk reads: 806 MB in 3.00 seconds = 268.52 MB/sec
96+
```
97+
98+
99+
100+
## 参考资料
101+
102+
- <http://man.linuxde.net/dd>
103+
- <https://linux.cn/article-6104-1.html>
104+
105+
106+
107+
108+
109+
110+
111+
112+
113+
114+
115+
116+
117+
118+
119+
120+
121+
122+
123+
124+
125+
126+
127+
128+
129+
130+
131+
132+
133+
134+

0 commit comments

Comments
 (0)