失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Linux 系统管理 (进程管理 工作管理 系统资源查看 系统定时任务)

Linux 系统管理 (进程管理 工作管理 系统资源查看 系统定时任务)

时间:2019-08-08 11:10:32

相关推荐

Linux 系统管理 (进程管理 工作管理 系统资源查看 系统定时任务)

一、进程管理

进程管理的作用:

1).判断服务器健康状态(最重要)

2).查看系统中所有进程

3).杀死进程

1-1、进程的查看--ps和pstree命令

# 查看系统中所有进程,使用BSD操作系统格式,使用没"-"

ps aux

# 查看系统中所有进程,使用Linux标准命令格式

ps -le

- a: 显示一个终端所有进程,除了会话引线

- u: 显示进程的归属用户及内存的使用情况

- x: 显示没有控制终端的进程

- -l: 长格式的显示。显示更加详细的信息

- -e: 显示所有进程。和-A作用一致

USER:该进程由哪个用户产生的

PID:进程id,注意/sbin/init 的PID永远是1,是其它进程的父进程。

%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)pstree:查看进程树

-p: 显示进程的PID

-u: 显示进程的所属用户

1-2.查看系统健康状态--top命令

(3)top [选项]

-d 秒数:指定top命令每隔几秒更新。默认是3秒

-b :使用批处理模式输出。一般和"-n"选项合用

-n 次数:指定top命令执行的次数。一般和"-b"选项使用

在top命令的交互模式当中可以执行的命令:

->?或h: 显示交互模式的帮助

->P:以CPU使用率排序,默认就是此项

->M:以内存的使用率排序

->N:以PID排序

->q:推出top

前五行是最重要的,用于判断系统的稳定性

后面进程的排序默认是根据进程占CPU率的大小来排序的。修改排序方式可以在交互模式当中输入执行命令,如P

第一行信息为任务队列信息

第二行为进程信息

第三行为CPU信息

关注的是:空闲CPU的CPU百分比,不能低于20%.

第四行为物理内存信息

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

1-3.杀死进程

对上面几个比较重要的点解释

# 重启进程

kill -1 进程PID

# 强制杀死进程

kill -9 进程PID

# 按照进程名杀死进程

(5)killall[选项] [信号] 进程名

-i:交互式,询问是否要杀死某个进程

-I:忽略进程名的大小写(大写的i)

# 按照进程终止进程

(6)pkill[选项] [信号] 进程名

-t 终端号:按照终端号提出用户

如:pkill -9 -t pts/1

1-3.修改进程优先级

通过ps -le | more 可以看到

PRI代表Priority,NI代表Nice。这两个值都是优先级,数字越小代表进程优先级越高

(3)nice:nice命令可以给新执行的命令直接赋予NI值,但是不能修改已经存在进程的NI值

-n NI值:给命令赋予NI值

如nice -n -4 service httpd start

(4)renice命令:修改已经存在进程的NI值的

renice [优先级] PID

如:renice -10 2125

-----------------------------------------------------------------------------------------------------------------------------------

二、工作管理

工作管理:指是在单个登陆终端中(也就是登录的shell界面中)同时管理多个工作的行为。

(5)jobs:查看系统当中有多少个程序在后台中运行的命令。(window是最小化)如Linux复制一个很多文件,复制信息会一直页面,这时候需要把这个放到后台去(这个命令不能与前台有交互,不然会停止这个进程)。

2-1.工作管理文件

1、把命令放入后台,

# 方法1: 把命令放入后台,并在后台执行!(在后面加&)

tar -zcf etc.tar.gz /etc &

# 方法2:按下ctrl+z快捷键,放在后台暂停!(ctrl+c是终止)

比较特殊的是top和vim,不管用方法一还是二,用jobs查看,这个进程在后台都是停止的。

2.查看后台的工作

(5)jobs[-l]

-l: 显示工作的PID

注:"+"号代表最后一个放入后台的工作,也是工作恢复时,默认恢复的工作。"-"号代表倒数第二个放入后台的工作

3.将后台暂停的工作恢复到前台执行

(6)fg%工作号

-%工作号:%号可以省略,但是注意工作号和PID的区别

changwen@ubuntu:~$ jobs

[1]+ Stopped top

changwen@ubuntu:~$ fg %1

4.将后台暂停的工作恢复到后台执行

(7)bg%工作号

注:后台恢复执行的命令,是不能和前台有交互的,否则不能恢复到后台执行

2-2.后台命令脱离终端

nohup [命令] & :即使终端关了,服务也不会停止

-----------------------------------------------------------------------------------------------------------------------------

三、系统资源查看

1.(8)vmstat命令监控系统资源

vmstat [刷新延时 刷新次数]

缓存和缓冲的区别

缓存(cache)是用来加速数据从硬盘中"读取"的

缓冲(buffer)是用来加速数据"写入"硬盘的

2.dmesg: 开机时内核自检信息。

# 可用来判断服务器硬件状态

dmesg | grep CPU

3.(9)free命令查看内存使用状态

free [-b|-k|-m|-g]

-b: 以字节为单位

-k: 以KB为单位显示,默认就是以KB

-m: 以MB为单位显示

-g: 以GB为单位显示

4.查看CPU信息

cat /proc/cpuinfo

5.uptime命令

uptime: 显示系统的启动时间和平均负载,也就是top命令的第一行。

w命令也可以看到这个数据

6.查看系统与内核相关信息

uname [选项]

-a: 查看系统所有相关信息

-r: 查看内核版本

-s: 查看内核名称

# 判断当前系统的位数

file /bin/ls

# 查询当前Linux系统的发行版本

lsb_release -a

7.列出进程打开或使用的文件信息

# 列出进程调用或打开的文件的信息

lsof [选项]

-c 字符串:只列出以字符串开关的进程打开的文件

-u 用户名:只列出某个用户的进程打开的文件

-p pid:列出某个PID进程打开的文件

----------------------------------------------------------------------------------------------------------

四、系统定时任务

4-1.at 一次执行

1.确定at安装

# at服务是否安装

chkconfig --list | grep atd

然后

service atd status

# at 服务的启动

service atd restart

例子,先创建一个只输出"hello"的hello.sh:

#在两分钟之后执行hello.sh脚本

at now +2 minutes

at> /home/changwen/hello.sh >> /home/changwen/hello.log

可以看到两分钟后会有hello.sh里多一条数据

(10)atq:查询当前服务器上的at工作

(11)atrm [工作号]:删除指定的at任务

4-2.crontab循环定时任务

1.crond 服务管理与访问控制

# 先查看服务是否存在

chkconfig --list | grep cron

# 看状态

service crond status

service crond restart

chkconfig crond on

2.用户的crontab 设置

crontab [选项]

-e: 编辑crontab 定时任务

-l: 查询crontab 任务

-r: 删除当前用户所有的crontab 任务

普通用户添加的任务不能超过自己权限的任务

# 进入crontab编辑界面。会打开vim编辑你的工作

crontab -e

格式:*****执行任务

# 1小时10分执行一次,2小时10执行一次......

10 **** /root/sh/apache_check.sh

# 第隔10分钟执行一次

*/10 **** /root/sh/apache_check.sh

如果觉得《Linux 系统管理 (进程管理 工作管理 系统资源查看 系统定时任务)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。