Linux程序、进程以及计划任务(第二部分)

目录

一、Linux程序、进程及计划任务命令

1、pstree:以树形结构列出进程信息

2、lsof:列出打开的文件

3、iostat:显示所有设备负载情况

3、vmstat:监控系统资源

4、

二、查看系统性能

1、内存

2、cpu使用率 

3、磁盘容量

4、磁盘读写

5、网卡流量

三、其他命令

1、pidof:查看进程pid号

2、lsof:查找占用端口的进程

3、vmstat:刷新

4、free:查看内存

重点:如何清理缓存

5、iostat:专门查看sda盘的内存

6、uptime:查看系统运行了多长时间

7、mpstat:显示cpu的相关统计

8、dstat:系统资源统计

9、pmap :看到进程使用内存情况

三、控制进程

1、前台运行与后台运行

2、ctrl+Z组合键

3、jobs命令

4、fg命令

5、kill:用于终止指定pid号的进程

6、killall:杀掉所有进程

7、pkill:根据特定条件终止相应的进程

四、计划任务管理

1、计划任务分为:

注意:

例题:

五、五大性能

六、系统的优化


一、Linux程序、进程及计划任务命令

1、pstree:以树形结构列出进程信息

-a 显示启动每个进程对应的完整指令,包括启动进程的路径、参数等
-p 显示PID
-T- 不显示线程thread,默认显示线程
-u 显示用户切换
-H pid 高亮显示指定进程及其前辈进程

2、lsof:列出打开的文件

-c 字符串 只列出以字符串开头的进程打开的文件。
+d 目录名 列出某个目录中所有被进程调用的文件。
-u 用户名 只列出某个用户的进程打开的文件。
-p pid 列出某个 PID 进程打开的文件。

3、iostat:显示所有设备负载情况

格式:iostat  选项  时间间隔  次数

-c 显示CPU使用情况
-d 显示磁盘使用情况
-N 显示磁盘阵列(LVM) 信息
-n 显示NFS 使用情况
-k 以 KB 为单位显示
-m 以 M 为单位显示
-t 报告每秒向终端读取和写入的字符数和CPU的信息
-V 显示版本信息
-x 显示详细信息
-p

显示磁盘和分区的情况

3、vmstat:监控系统资源

-fs    -f:显示从启动到目前为止,系统复制(fork)的程序数,此信息是从 /proc/stat 中的 processes 字段中取得的。 -s:将从启动到目前为止,由一些事件导致的内存变化情况列表说明。
-S 单位    令输出的数据显示单位,例如用 K/M 取代 bytes 的容量。
-d    列出硬盘有关读写总量的统计表。
-p 分区设备文件名    查看硬盘分区的读写情况。


4、

字段 含义
procs 进程信息字段: -r:等待运行的进程数,数量越大,系统越繁忙。 -b:不可被唤醒的进程数量,数量越大,系统越繁忙。
memory 内存信息字段: -swpd:虚拟内存的使用情况,单位为 KB。 -free:空闲的内存容量,单位为 KB。-buff:缓冲的内存容量,单位为 KB。-cache:缓存的内存容量,单位为 KB。
swap 交换分区信息字段: -si:从磁盘中交换到内存中数据的数量,单位为 KB。 -so:从内存中交换到磁盘中数据的数量,单位为 KB。这两个数越大,表明数据需要经常在磁盘和内存之间进行交换,系统性能越差。
io 磁盘读/写信息字段: -bi:从块设备中读入的数据的总量,单位是块。 -bo:写到块设备的数据的总量,单位是块。这两个数越大,代表系统的 I/O 越繁忙。
system 系统信息字段: -in:每秒被中断的进程次数。 -cs:每秒进行的事件切换次数。这两个数越大,代表系统与接口设备的通信越繁忙。
cpu CPU信息字段: -us:非内核进程消耗 CPU 运算时间的百分比。 -sy:内核进程消耗 CPU 运算时间的百分比。 -id:空闲 CPU 的百分比。 -wa:等待 I/O 所消耗的 CPU 百分比。 -st:被虚拟机所盗用的 CPU 百分比

二、查看系统性能

1、内存

top

free

2、cpu使用率 

top

ps aux

vmstat

3、磁盘容量

df是查看剩余

lsblk是查看磁盘分区

4、磁盘读写

vmstat

iostat

5、网卡流量

iftop

三、其他命令

1、pidof:查看进程pid号

2、lsof:查找占用端口的进程

lsof -i :80 占用端口号是80的进程

3、vmstat:刷新

vmstat 1 3每隔1秒刷新3次

4、free:查看内存

free -m 就是以m为单位查看内存

重点:如何清理缓存

echo 3 > /proc/sys/vm/drop-caches

5、iostat:专门查看sda盘的内存

6、uptime:查看系统运行了多长时间

7、mpstat:显示cpu的相关统计

8、dstat:系统资源统计

yum dstat -y

9、pmap :看到进程使用内存情况

三、控制进程

1、前台运行与后台运行

①前台运行:影响当前终端的操作

②后台运行:不影响当前终端操作

放入后台运行    命令后直接加&(并行提高效率)

jobs可以看到后台运行的命令列表

把命令从后台拉回前台

2、ctrl+Z组合键

将当前进程挂起,即调入后台并停止执行

3、jobs命令

-l  显示pid号

查看处于后台的任务列表

4、fg命令

将后台进程恢复到前台运行,可指定任务序号

5、kill:用于终止指定pid号的进程

用于终止指定名称相关的所有进程

-9就是强制终止

格式:kill pid号

信号编号 信号名 含义
0 EXIT 程序退出时收到该信息。
1 HUP 挂掉电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化。
2 INT 表示结束进程,但并不是强制性的,常用的 "Ctrl+C" 组合键发出就是一个 kill -2 的信号。
3 QUIT 退出。
9 KILL 杀死进程,即强制结束进程。
11 SEGV 段错误。
15 TERM 正常结束进程,是 kill 命令的默认信号。

6、killall:杀掉所有进程

7、pkill:根据特定条件终止相应的进程

-U:根据进程所属的用户名终止相应进程

-t:根据进程所在的终端终止相应进程

四、计划任务管理

1、计划任务分为:

①一次性: at +时间  ctrl d 提交     atq可以查看任务列表

(atrm 任务序列号 删除)

②周期性: crontab -e 编辑计划任务   -e -u 就是指定用户

 *  *  *  *  *  命令或脚本文件
#分 时 日 月 周  命令或脚本文件
项目 含义 范围
第一个"*" 一小时当中的第几分钟(minute) 0~59
第二个"*" 一天当中的第几小时(hour) 0~23
第三个"*" 一个月当中的第几天(day) 1~31
第四个"*" 一年当中的第几个月(month) 1~12
第五个"*" 一周当中的星期几(week)

0~7(0和7都代表星期日)

特殊符号 含义
*(星号) 代表任何时间。比如第一个"*"就代表一小时种每分钟都执行一次的意思。
,(逗号) 代表不连续的时间。比如"0 8,12,16***命令"就代表在每天的 8 点 0 分、12 点 0 分、16 点 0 分都执行一次命令。
-(中杠) 代表连续的时间范围。比如"0 5 ** 1-6命令",代表在周一到周六的凌晨 5 点 0 分执行命令。
/(正斜线) 代表每隔多久执行一次。比如"*/10命令",代表每隔 10 分钟就执行一次命令。

注意:

  • 6 个选项都不能为空,必须填写。如果不确定,则使用“*”代表任意时间。

  • crontab 定时任务的最小有效时间是分钟,最大有效时间是月。像 2018 年某时执行、3 点 30 分 30 秒这样的时间都不能被识别。

  • 在定义时间时,日期和星期最好不要在一条定时任务中出现,因为它们都以天为单位,非常容易让管理员混淆。

  • 在定时任务中,不管是直接写命令,还是在脚本中写命令,最好都使用绝对路径。有时使用相对路径的命令会报错。

例题:

30 2 * * * /bin/cp -a /etc/ /data/etc`date +‘%F_%T’`  有问题  执行不了

是因为%在系统中与在Linux中所表达的意思不同,所以需要加一个反斜杠\就可以正常使用了。

30 2 * * * /bin/cp -a /etc/ /data/etc`date +‘\%F_\%T’`  就可以正常执行了。

五、五大性能

①cpu  top w

②内存   free   top

③硬盘剩余  df

④硬盘读写  iostat

⑤网络带宽  iftop

六、系统的优化

①关闭不必要的开机自启

②禁止使用超级管理员

③使用国内yum源

④内核调优  (开启路由转发功能)(tcp链接数)

⑤关闭核心防护

你可能感兴趣的:(linux,运维,服务器)