嵌入式开发之Linux学习笔记day12

硬件监控(二)

  • 1 内存及监控页面
    • 1.1 free指令
    • 1.2 top查看系统健康状态
  • 2 网络端口号占用监控
  • 3 定时任务
    • 3.1 crontab 服务管理
    • 3.2 crontab 定时任务设置

1 内存及监控页面

1.1 free指令

1)基本语法
	free -m (功能描述:查看服务器总体内存)
2)案例实操
cheng@cheng-virtual-machine:~/桌面$ free -m
           total        used        free      shared  buff/cache   available
内存:       3868        1107        1096          24        1664        2491
交换:       3897           0        3897

1.2 top查看系统健康状态

1)基本命令
	top [选项]	
2)选项说明
	选项			功能
	-d 		秒数	指定top命令每隔几秒更新。
	-i		使top不显示任何闲置或者僵死进程。
	-p		通过指定监控进程ID来仅仅监控某个进程的状态。
3)操作说明
	操作		功能
	P		以CPU使用率排序,默认就是此项 
	M		以内存的使用率排序
	N		以PID排序
	q		退出top
4)查询结果字段解释
(1)第一行信息为任务队列信息
	内容									说明
	16:36:57							系统当前时间
	up  2:52							系统的运行时间,本机已经运行2小时52分钟
	1 users								当前登录了一个用户
	load  average:   0.16, 0.39, 0.26	系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1时,负载较小。如果大于1,系统已经超出负荷。
(2)第二行为进程信息
	Tasks:  311 total		系统中的进程总数
	1 running				正在运行的进程数
	309 sleeping			睡眠的进程
	1 stopped				正在停止的进程
	0 zombie				僵尸进程。如果不是0,需要手工检查僵尸进程
(3)第三行为CPU信息
	Cpu(s): 					
	0.3%us						用户模式占用的CPU百分比
	0.2%sy						系统模式占用的CPU百分比
	0.0%ni						改变过优先级的用户进程占用的CPU百分比
	99.3%id						空闲CPU的CPU百分比
	0.0%wa						等待输入/输出的进程的占用CPU百分比
	0.0%hi						硬中断请求服务占用的CPU百分比
	0.1%si						软中断请求服务占用的CPU百分比
	0.0%st	st(Steal  time)	虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。
(4)第四行为物理内存信息
	Mem:    3868.6 total		物理内存的总量
	1109.9 used					已经使用的物理内存数量
	1093.9 free					空闲的物理内存数量,我们使用的是虚拟机,总共只分配了628MB内存,所以只有53MB的空闲内存了
	1664.8 buffers				作为缓冲的内存数量
(5)第五行为交换分区(swap)信息
	Swap:   3898.0 total		交换分区(虚拟内存)的总大小
	0.0 used					已经使用的交互分区的大小
	3898.0 free					空闲交换分区的大小
	2489.3 cached				作为缓存的交互分区的大小
5)案例实操
	cheng@cheng-virtual-machine:~/桌面$ top -d 1
	cheng@cheng-virtual-machine:~/桌面$ top -i
	cheng@cheng-virtual-machine:~/桌面$ top -p 2575
	执行上述命令后,可以按P、M、N对查询出的进程结果进行排序。

2 网络端口号占用监控

1)基本语法
	netstat -anp | grep 进程号	(功能描述:查看该进程网络信息)
	netstat -nlp | grep 端口号	(功能描述:查看网络端口号占用情况)
2)选项说明
	选项				功能
	-n		拒绝显示别名,能显示数字的全部转化成数字
	-l		仅列出有在listen(监听)的服务状态
	-p		表示显示哪个进程在调用
	
	
cheng@cheng-virtual-machine:~/桌面$ sudo netstat -nlp | grep ssh
tcp        0      0 0.0.0.0:22       0.0.0.0:*               LISTEN      984/sshd: /usr/sbin 
tcp        0      0 127.0xxxx	     0.0.0.0:*               LISTEN      3030/sshd: cheng
tcp6       0      0 :::22            :::*                    LISTEN      984/sshd: /usr/sbin 
tcp6       0      0 ::1:6010         :::*                    LISTEN      3030/sshd: cheng 
unix  2  [ ACC ] 流   LISTENING   19349  1588/systemd        /run/user/1000/gnupg/S.gpg-agent.ssh
unix  2  [ ACC ] 流   LISTENING   20292  1609/gnome-keyring- /run/user/1000/keyring/ssh


cheng@cheng-virtual-machine:~/桌面$ sudo netstat -anlp | grep ssh
tcp     0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      984/sshd: /usr/sbin 
tcp     0      0 127.0xxxx          	 0.0.0.0:*               LISTEN      3030/sshd: cheng 
tcp     0      0 192.xxxxx          	 192.xxxx      ESTABLISHED 2971/sshd: cheng 
tcp6    0      0 :::22                   :::*                    LISTEN      984/sshd: /usr/sbin 
tcp6    0      0 ::1:6010                :::*                    LISTEN      3030/sshd: cheng 
unix    2    [ ACC ] 流  LISTENING 19349 1588/systemd        /run/user/1000/gnupg/S.gpg-agent.ssh
unix    2    [ ACC ] 流  LISTENING 20292 1609/gnome-keyring- /run/user/1000/keyring/ssh
unix    2      [ ]     数据报     已连接     27931    2971/sshd: cheng 
unix    3      [ ]     流        已连接     17038    984/sshd: /usr/sbin  
unix    2      [ ]     流        已连接     27095    2971/sshd: cheng 
unix    3      [ ]     流        已连接     28034    2971/sshd: cheng 
unix    3      [ ]     流        已连接     28033    3030/sshd: cheng  

3 定时任务

3.1 crontab 服务管理

1)重新启动cron服务
cheng@cheng-virtual-machine:~/桌面$ sudo systemctl restart cron

3.2 crontab 定时任务设置

1)基本语法
	crontab [选项]
2)选项说明
	选项			功能
	-e		编辑crontab定时任务
	-l		查询crontab任务
	-r		删除当前用户所有的crontab任务
3)选择编辑器
cheng@cheng-virtual-machine:~/桌面$ crontab -e
执行上述命令,系统会提示我们选择编辑器,此处没有vim。
no crontab for cheng - using an empty one

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed
Choose 1-4 [1]:
我们可以通过EDITOR环境变量在执行crontab时选择编辑器,命令如下。
cheng@cheng-virtual-machine:~/桌面$ EDITOR=vim crontab -e
4)参数说明
(1)执行上述命令会进入crontab编辑界面,并打开vim编辑定时任务。
	* * * * * 执行的任务
	项目  				含义  			范围
	第一个“*”	一小时当中的第几分钟		0-59
	第二个“*”	一天当中的第几小时			0-23
	第三个“*”	一个月当中的第几天			1-31
	第四个“*”	一年当中的第几月			1-12
	第五个“*”	一周当中的星期几			0-7(0和7都代表星期日)
(2)特殊符号
	特殊符号			含义
	*		代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。
	,		代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令
	-		代表连续的时间范围。比如“0 5  *  *  1-6命令”,代表在周一到周六的凌晨5点0分执行命令
	*/n		代表每隔多久执行一次。比如“*/10  *  *  *  *  命令”,代表每隔10分钟就执行一遍命令
(3)特定时间执行命令
	时间  					含义
	40 20 * * * 		命令	在20点40分执行命令
	0 15 * * 1 			命令	每周1 的15点0分执行命令
	0 8 1,10 * * 		命令	每月1号和10号的凌晨8点0分执行命令
	27 3 * * 1-5 		命令	每周一到周五的凌晨3点27分执行命令
	*/10 4 * * * 		命令	每天的凌晨4点,每隔10分钟执行一次命令
	0 0 1,15 * 1 		命令	每月1号和15号,每周1的0点0分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。
5)案例实操
(1)监听atm.txt
cheng@cheng-virtual-machine:~/桌面$ tail -F bailongma.txt
(2)每隔1分钟,向/home/cheng/桌面/atm.txt文件中添加一个8的数字
*/1 * * * * /bin/echo "8" >> /home/cheng/桌面/atm.txt

你可能感兴趣的:(嵌入式学习之Linux,linux,学习,笔记)