一、进程管理
1.进程管理简介
①定义:进程是一个有自己地址空间并占用一定的系统资源的实体,是正在执行的一个程序或者命令。
②进程管理的作用:
判断服务器健康状态;查看系统中的所有进程;杀死进程。
2.进程查看-ps命令 和pstree命令
①ps aux //查看系统中的所有进程,使用BSD操作系统格式
②ps -le //查看系统中的所有进程,使用linux标准命令格式
选项:-a:显示一个终端的所有进程,除了会话引线
-u:显示进程的归属用户及内存的使用情况
-x:显示没有控制终端的进程
-l:长格式显示。显示更加详细的信息
-e:显示所有进程,和A作用一致。
③ps命令的输出
ps命令的输出④关于进程
进程⑤查看进程树命令
pstree [选项]
选项:
-p:显示进程的PID
-u:显示进程的所属用户
3.进程的查看-top命令
①查看系统健康状态
top命令服务器维护:如果是高负载高压力服务器(如游戏),建议一周重启一次;低压力(网站)至少一个月重启一次。
②Top查看的信息解释
图示 图示 图示 图示 图示4.杀死进程
①Kill命令,杀死单一进程
图示#kill -l //查看信号
②Killall命令
#killall [选项][信号] 进程名
按照进程名杀死进程;
图示选项:-i:交互式,询问是否要杀死某个进程
-I:忽略进程名的大小写
③pkill命令
#pkill [选项] [信号] 进程名
图示按照进程名终止进程
选项:-t 终端号:按照终端号踢出用户
#w //命令,查看当前登录的用户
只有超级用户可以踢出用户,如果两个超级用户,可以互相踢出。
5.修改进程优先级
①进程优先级简介:linux操作系统是一个多用户、多任务的操作系统,linux系统中通知运行着非常多的进程,但是cpu在同一个时钟周期内只能运算一个指令。进程优先级决定了每个进程处理的先后顺序。
图示②修改NI值得注意事项
a. NI值得范围是 -20到19
b.普通用户调整NI值得范围是0到19,只能调整自己的进程
c. 普通用户只能调高NI值,不能降低,如原本为0,只能调整为大于0
d.root用户才能设定进程NI值为负值,可以调整任意用户的进程
e. PRI(最终值)=PRI(原始值)+NI
f.用户只能修改NI的值,不能直接修改PRI
③Nice命令
#nice [选项] 命令
Nice命令可以给新执行的命令直接赋予NI值,但是不能修改已经存在的NI的值选项:-n NI值 //给命令赋予NI值
例如:
图示④Renice [优先级] PID
Renice命令是修改已经存在进程的NI值的命令
例如:renice -10 2125
二、工作管理
1.简介
单个登录终端中(即登录的shell界面中)同时管理多个工作的行为。
注意事项:当前的登录终端,只能管理当前终端的工作,而不能管理其他登录终端的工作;放入后台的命令必须可以持续运行一段时间,这样我们才能捕捉和操作这个工作;放入后台执行的命令不能和前台用户有交互或需要前台输入,否则放入后台只能暂停,而不能执行。
2.工作管理方法
1)把进程放入后台的两种方法
方法1 方法22)查看后台的工作:
#jobs [-l]
选项:-l:显示工作的PID
注:“+”号代表最近一个放入后台的工作,也是工作恢复时,默认恢复的工作。“-”号代表倒数第二个放入后台的工作。
将后台暂停的工作恢复到前台执行
#fg %工作号
参数
-%工作号:%号可以省略,但是注意工作号和PID的区别。
#bg %工作号
注:后台恢复执行的命令,是不能和前台有交互的,否则不能恢复到后台执行。
3)后台命令脱离登录终端执行
简介:把命令放入后台,只能在当前登录终端执行。一旦退出或关闭终端,后台成粗就会停止。
例子第一种方法是把需要后台执行的命令加入/etc/rc.local文件;
第二种方法是使用系统定时任务,让系统在指定的时间执行某个后台命令;
第三种方法是使用nohup命令。
三、系统资源查看
1)命令监控系统资源
#vmstat [刷新延时 刷新次数]
#vmstat 1 3 //每隔一秒钟刷新一次,总共刷新3次
2)信息字段
① procs:进程信息字段:
-r:等待运行的进程数,数量越大,系统越繁忙
-b:不可被唤醒的进程数量,数量越大,进程越繁忙
②memory:内存信息字段:
-swpd:虚拟内存的使用情况,单位kB
-free:空闲的内存容量,单位KB
-buff:缓冲的内存容量,单位KB
-cache:缓存的内存容量,单位KB
3)缓存和缓冲的区别
缓存(cache)是用来加速数据从硬盘中“读取”的,而缓冲(buffer)是用来加速数据“写入”硬盘的。
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占比
Dmsg:开机时内核检测信息
#Dmesg
用法:#dmesg |grep CPU //判断当前服务器的cpu状态
Free:查看内存使用状态
Free[-b|-k|-m|-g]
选项:
-b:以字节为单位显示
-k:以kb为单位显示,默认就是以kb为单位显示
-m:以MB为单位显示
-g:以GB为单位显示
#cat /proc/cpuinfo //查看cpu的信息
Uptime命令
#uptime //显示系统的启动时间和平均负载,也就是top命令的第一行。W命令也可以看到这个数据
Uname:查看系统与内核的相关信息
Uname[选项]
-a:查看系统所有相关信息
-r:查看内核版本
-s:查看内核名称
File:判断当前系统的位数
#file /bin/ls
#lsb_release -a //查询当前linux系统的发行版本
Lsof:列出进程打开或使用的文件信息
Lsof[选项]
-c字符串:只列出以字符串开头的进程打开的文件
-u:用户名:只列出某个用户的进程打开的文件
-p pid:列出某个PID进程打开的文件
#lsof |more //查询系统中所有进程调用的文件
#lsof /sbin/init //查询某个文件被哪个进程调用
#lsof -c httpd //查看httpd进程调用了哪些文件
#lsof -u root //按照用户名,查询某用户的进程调用的文件名
四、系统定时任务
1.at一次执行
#chkconfig --list |grep atd //at服务是否安装
#service atd restart //at服务的启动
确定它是安装和启动的才可以使用
at的访问控制 at命令at管理命令例子:
#at now + 2minutes //在两分钟之后执行
此时出现at执行命令符,输入要执行的内容
at > /root/hello.sh >> /root/hello.log //在两分钟之后执行hello.sh脚本
2.crontab循环定时任务
①服务管理与访问控制
#service crond restart
#chkconfig crond on
#chkconfig --list | grep cron //查询cron服务是否开启
#service crond statys //查询目前此服务的运行状态
②访问控制
访问控制③用户的crontab设置
用户的crontab设置 图示 图示 图示 例子 例子常用命令:
#crontab -l //查看root用户的crontab任务
#crontab -r //删除root用户所有的定时任务
3.系统的crontab设置
含义:”crontab -e”,是每隔用户执行的命令,也就是说不同的用户身份可以执行自己的定时任务。可是有些定时任务需要系统执行,这时候我们就需要编译/etc/crontab这个配置文件了。
执行定时任务4.Anacron配置
作用:服务器应该执行定时任务时,服务器因为什么故障导致定时任务没有执行的时候,当服务器恢复正常时,anacron可以进行判断,从而将定时任务重新执行
定义 检测周期 区别 配置文件 执行过程
网友评论