Linux硬件监控(磁盘、进程)和定时器

一、磁盘类

1.1、df 查看磁盘空间使用情况 

df: disk free 空余硬盘 

1、基本语法 

df  选项 (功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况) 

2、选项说明 

选项功能
-h 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

3、案例实操 

(1)查看磁盘使用情况

df -h

1.2、du 文件和目录的磁盘使用空间  

1、基本语法 

du 目录/文件(功能描述:统计文件或递归显示目录及子目录的磁盘使用空间) 

2、选项说明 

选项功能
-a显示当前目录下所有的文件目录及子目录大小
-h 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-s只显示。。。。

应用:-h,-ah,-sh 

3、案例实操 

(1)查看文件的空间使用情况

du houge.txt

(2)查看目录及子目录的空间使用情况

du xiyou

(3)查看目录、子目录及目录下所有文件的空间使用情况 

du -a xiyou 

二、进程线程类

进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。 

2.1、ps 查看当前系统进程状态 

ps:process status 进程状态 

1、基本语法

ps -aux | grep xxx  (功能描述:查看系统中所有进程)
ps -ef | grep xxx  (功能描述:可以查看子父进程之间的关系) 

2、选项说明 

选项功能
-a选择所有进程
-u 显示所有用户的所有进程
-x显示没有终端的进程

3、功能说明 

(1)ps -aux 显示信息说明 

 USER:该进程是由哪个用户产生的 
 PID:进程的ID号 
 %CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源; 
 %MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源; 
 VSZ:该进程占用虚拟内存的大小,单位KB; 
 RSS:该进程占用实际物理内存的大小,单位KB; 
 TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。 
 STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台 
 START:该进程的启动时间 
 TIME:该进程占用CPU的运算时间,注意不是系统时间
 COMMAND:产生此进程的命令名 

(2)ps -ef 显示信息说明 

 UID:用户ID  
 PID:进程ID  
 PPID:父进程ID  
 C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高  
 STIME:进程启动的时间  
 TTY:完整的终端名称  
 TIME:CPU时间  
 CMD:启动进程所用的命令和参数 

4、经验技巧 

如果想查看进程的CPU占用率和内存占用率,可以使用aux; 
如果想查看进程的父进程ID可以使用ef; 

5、案例实操 

(1)查看进程的CPU占用率和内存占用率 

ps -aux

(2)查看进程的父进程ID 

ps -ef 

2.2、kill 终止进程 

1、基本语法 

kill  [选项] 进程号  (功能描述:通过进程号杀死进程) 
killall 进程名称   (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)  

2、选项说明 

选项功能
-9表示强迫进程立即停止

3、案例实操 

(1)开启多个终端 
在XShell 中双击开启的标签,即可打开新的终端。准备两个终端。 
(2)监控houge.txt 
在其中一个终端中执行以下命令。

tail -F houge.txt 

(3)查看tail进程号 
在另一个终端中查看进程号。

ps -ef | grep tail

(4)杀死tail进程 

kill -9 43823 

此时,另一个终端可以看到提示,进程已被杀死

注:kill 43823,已被终止

(5)通过名称杀死进程 
killall 命令可以根据名称杀死进程,此处的进程名称是精确匹配。通常进程名称为启动命令中可执行文件的名称。对于tail -F houge.txt启动的进程,其进程名称为tail。 
再开启一个终端,在其中两个终端中执行以下命令。

tail -F houge.txt 

在最后一个终端中执行以下命令。 

 killall tail 

可以看到另外两个终端的tail进程均被杀死。 

2.3、查看服务器总体内存

1、基本语法 

free -m (功能描述:查看服务器总体内存) 

2、案例实操

man free 

2.4、top 查看系统健康状态

1、基本命令 

top [选项]  

2、选项说明 

选项功能 
-d秒数 指定top命令每隔几秒更新。
-i使top不显示任何闲置或者僵死进程。
-p通过指定监控进程ID来仅仅监控某个进程的状态。

3、操作说明 

操作功能 
P以CPU使用率排序,默认就是此项
M以内存的使用率排序
N以PID排序 
q退出top

4、查询结果字段解释

(1)第一行信息为任务队列信息

内容说明
12:26:46系统当前时间
up 1 day, 13:32系统的运行时间,本机已经运行1天 13小时32分钟
2 users当前登录了两个用户
load  average:  0.00, 0.00, 0.00 系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1时,负载较小。如果大于1,系统已经超出负荷。

(2)第二行为进程信息 

Tasks:  95 total系统中的进程总数 
1 running正在运行的进程数 
94 sleeping睡眠的进程 
0 stopped正在停止的进程 
0 zombie僵尸进程。如果不是0,需要手工检查僵尸进程

(3)第三行为CPU信息 

Cpu(s):  0.1%us用户模式占用的CPU百分比
0.1%sy系统模式占用的CPU百分比
0.0%ni改变过优先级的用户进程占用的CPU百分比
99.7%id空闲CPU的CPU百分比 
0.1%wa 等待输入/输出的进程的占用CPU百分比
0.0%hi  硬中断请求服务占用的CPU百分比
0.1%si软中断请求服务占用的CPU百分比 
0.0%stst(Steal  time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。

(4)第四行为物理内存信息 

Mem:    625344k total物理内存的总量,单位KB
571504k used已经使用的物理内存数量 
53840k free空闲的物理内存数量,我们使用的是虚拟机,总共只分配了628MB内存,所以只有53MB的空闲内存了 
65800k buffers作为缓冲的内存数量

(5)第五行为交换分区(swap)信息 

Swap:   524280k total交换分区(虚拟内存)的总大小
0k used已经使用的交互分区的大小 
524280k free空闲交换分区的大小 
409280k cached作为缓存的交互分区的大小 

5、案例实操

top -d 1 
top -i 
top -p 2575

执行上述命令后,可以按P、M、N对查询出的进程结果进行排序。

注:top已经很古老

实际使用软件(Ubuntu自带的“系统监视器”)更方便

2.5、netstat 显示网络统计信息和端口占用情况

1、基本语法 

netstat -anp |grep 进程号 (功能描述:查看该进程网络信息) 
netstat -nlp | grep 端口号 (功能描述:查看网络端口号占用情况)

2、选项说明 

选项功能
-n拒绝显示别名,能显示数字的全部转化成数字
-l仅列出有在listen(监听)的服务状态
-p表示显示哪个进程在调用

3、案例实操 

(1)通过nc命令监听某个端口 

 nc -lk 12345

上述命令表示监听本机12345端口。 
(2)在另一个终端查看进程号 

 ps -ef | grep "nc -lk 12345"

  (3)通过进程号查看该进程的网络信息

netstat -anp | grep 44118

 (4)查看某端口号是否被占用

 netstat -nlp | grep 12345

三、crontab 系统定时任务 

3.1、crontab 服务管理 

1、重新启动crond服务 

sudo systemctl restart cron 

3.1、crontab 定时任务设置

1、基本语法 

crontab [选项] 

2、选项说明 

选项功能
-e编辑crontab定时任务 
-l查询crontab任务
-r删除当前用户所有的crontab任务

3、选择编辑器 

crontab -e

执行上述命令,系统会提示我们选择编辑器,此处没有vim。 (Ctrl+X退出)
我们可以通过EDITOR环境变量在执行crontab时选择编辑器,命令如下。

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)特定时间执行命令 

时间含义
45 22 * * * 命令 在22点45分执行命令 

0 17 * * 1 命令

每周1 的17点0分执行命令
0 5 1,15 * * 命令每月1号和15号的凌晨5点0分执行命令
40 4 * * 1-5 命令 每周一到周五的凌晨4点40分执行命令 
*/10 4 * * * 命令 每天的凌晨4点,每隔10分钟执行一次命令
0 0 1,15 * 1 命令每月1号和15号,每周1的0点0分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。

5、案例实操 

(1)监听bailongma.txt 

tail -F bailongma.txt 

(2)每隔1分钟,向/home/atguigu/桌面/bailongma.txt 文件中添加一个11的数字 

*/1 * * * * /bin/echo "11" >> /home/atguigu/桌面/bailongma.txt

(3)查看效果 

...

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值