码迷,mamicode.com
首页 > 系统相关 > 详细

进程和计划任务管理

时间:2018-10-29 17:25:34      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:建议   cpu   tmp   系统内存   ora   配置   机制   gre   需要   

系统管理命令

一、Linux的进程构造:

技术分享图片技术分享图片 

 

技术分享图片 

技术分享图片 

 

 

 

 

二、进程管理的各种命令

ps:

看进程(默认好多都看不见)

ps aux

a看所有)专门用来看CPU和内存(MEM)使用情况

ps aux      查看进程占用CPU和内存的百分比   ====a 查看所有进程信息 u以用户为主的格式输出进程信息 x显示当前用户在所有终端下的进程信息

技术分享图片 

ps ef  

显示系统中的进程信息

e显示系统内所有进程 f 使用完整格式显示进程信息

 

所有已启动的服务  主要用来过滤|grep sshd 看服务开没开

(经常与管道符和grep一起使用 ps -ef | grep 服务名

技术分享图片 

 

pgrep命令

查看某个服务的PID

pgrep -l  显示进程名

          -U 指定特定用户

          -t 指定终端

 

查看socket

pgrep sshd | head -1

kill `pgrep sshd | head -1`

 

 

pstree命令

pstree -aup ==========a 显示完整信息 u 列出对应用户名 p 列出对应PID

技术分享图片 

 

PID:进程号   

PPID 其父进程号

pts远程登录终端名称

 

TTY:终端号  

TIME:占用CPU的时间

CMD

正在执行的命令(文件位置,如果是病毒进程,先删掉文件,再kill)

技术分享图片 

 

图详细解释

技术分享图片 

 

w命令看远程连接

  tty1:本地登录终端   pts1 远程连接

技术分享图片 

 

三、三种查看端口号情况的方式

netstat -antup   看端口号

ss  –antup    看端口号

lsof –i22   看端口号

 

四、top动态查询进程命令

显示进程排名(默认以CPU占用率排序)

CPU:  99.7%id----->id指的是CPU可用容量百分比

top -u 指定用户名

top -p 指定进程号

 

top动态查询系统进程命令,监控查看CPU MEM(内存)使用情况

左上角的技术分享图片1变成技术分享图片代表第一个内核

如果虚拟机4核就有0123

看具体虚拟机的哪个核,实时的看进程百分比,CPU,MEM

top这个命令工作中不能经常用,占用资源过大

技术分享图片 

NInice值,负值表示高优先级,正值表示低优先级,将优先级调低,可避免在内存溢出时被kill

 

五、切换后台命令

vim中不想退出,按Ctrl+z切到后台,fg切回前台

 

 

六、kill杀命令

kill,   killall,    pkill命令

 

kill

需要根据PID杀进程

        kill   PID  (温柔杀)

-9强杀(发送强制终止信号)

-15 温柔杀(发送正常终止信号)

-2 Crtl+c

建议工作中先用-15  再用-9

 

killall

需要根据服务名杀,因为会把后代子孙都杀。 -9也是强杀

 

pkill:  

也是根据服务名杀,不杀后代,能踢人(能根据终端名杀)    

 

 

 

七、Linux操作系统垃圾回收机制原理

概述

通常情况下,子进程由父进程生成;因此,子进程一旦执行结束,默认由他的父进程管理。如果父进程比子进程执行结束的还早,那么子进程会交给父进程的父进程来管理。

加入所有父进程都结束了,默认会交给所有父进程的总进程init进程来管理。

===============================================================================

1、僵尸进程的产生

子进程执行结束,默认父进程管理;父进程比子进程先结束,由父进程的父进程进行管理;若,父进程执行结束,但是父进程未连接到其父进程管理其子进程

导致子进程被遗忘,无管理;此时,子进程为僵尸进程;

代码由开发编写,父进程结束后由父进程的父进程对子进程进行管理的代码也是由开发编写的,如果开发忘记编写,导致服务器运行这个程序,就会发生子进程未被管理的情况

===============================================================================

2、僵尸进程的后果

最可怕的后果并不是资源的占用,因为一个进程占不了多少资源,严重的是,僵尸进程会永远占用PID号(操作系统的PID号有上限 65535),如果达到上限,Linux会默认什么服务都不能开启

===============================================================================

排查僵尸进程

方法一:

top

第二行最后一个单词zombie,僵尸

方法二:

ps aux

查看STAT下,若出现Zz的进程,出现僵尸进程

ps aux | grep "^Zz$" | wc -l

方法三:

ps -ef -o pid,stat ,cmd=======-o 指定输出的字段名  cmd 显示命令

查看STAT下,若出现Zz的进程,出现僵尸进程

 

系统优先机制

系统有一个优先杀机制,OOM

当系统内存不够用时,系统会启动它的优先杀机制,优先杀掉占用进程大的文件;

所以我们工作中,要把重要程序的优先级调低,这样启动机制时,就能保障关键程序的安全。

 

 

八、定时任务 crond

1、概述

Linux系统自身定期执行的任务工作:系统周期性自行执行的任务工作。

/var/log/messages*     #系统的日志,每七天自动切割

 

系统自动定时任务: /var/log/messages*  (每七天自动切割)

定时任务可以有五个时间段:分、时、日、月、周

*(一个星代表每分钟)**(每个星代表每小时)以此类推…

技术分享图片 

定时任务文件放置的目录:/var/spool/cron/root

查看定时任务日志:/var/log/cron/

service crond status  查看crond服务是否开启

crontab  -l查看当前用户的定时任务

crontab  -e进入编辑状态

crontab –u user指定用户看他的定时任务

crontab -r 删除定时任务(递归删除)

举个例子:

定时任务用时要用绝对路径,因为有的命令定时任务不一定能找到

因为定时任务里的PATH环境变量与Linux的PATH不一致

 

eg:

* * * * * /bin/echo"111111" >> /tmp/yunjisuan.txt      */5 表示每隔五分钟

回车

此时,crontab -l中产生新的定时任务

ll /var/spool/cron/ 定时文件放置目录

出现root用户的定时文件

 

ll /var/log/cron/    查看定时任务的日志文件

查看定时任务的日志文件

tail /var/log/cron 查看定时任务日志文件

从定时任务的命令里看到,定时任务被执行了两次(一分钟一次),

tail -f /var/log/cron/  动态追踪日志文件

 

2、赋值和环境变量

$取值,(eg:x=5   echo $x   5  )

PATH环境变量,敲命令,去哪找这个命令

如果PATH=0,那么输入命令就需要输入命令的绝对路径才能用

export  全局生效,子进程后面的儿子全生效

定时任务用时要用绝对路径,因为有的命令定时任务不一定能找到

因为定时任务里的PATH环境变量与Linux的PATH不一致

 

扩展

定时任务配置文件 /etc/crontab

SHELL=/bin/bash/bin/bash去解析定时任务文件里的命令

PATH 环境变量 告诉Linux去哪里找命令

如果PATH里的变量赋值为空,外置命令不能执行,内置命令可以执行,解决方法:手动写路径找回

(定时任务配置文件里的PATH环境变量与Linux操纵系统的PATH不一致,导致有的任务在Linux能找到,但定时任务里找不到,所以要求定时任务里的命令必须用绝对路径)

export 全局声明,将后面的变量进行全局生效;此时,同一个父进程下的所有子进程生效,但再生成的子进程就不生效了。

MAILTO=root 指定邮件发送用户 定时任务有数据输出时,会给root发邮件

Service postfix status 查看邮件服务状态

 

HOME=/  定时任务启动路径永远从根开始

 

3、屏幕输出解决方法

要求:要关注定时任务环境变量,命令起始点在根下;

定时任务不能有任何屏幕输出,不能产生垃圾输出,垃圾文件重定向到> /dev/null 2>&1>/dev/null 2 > /dev/null

如果关闭邮件服务,就不会产生邮件,邮件发不出去,定时任务会产生屏幕输出的话,就会在/var/spool/postfix/maildrop/下生成许多小文件,小文件过多会让服务器无法工作

因为 ll -i 中查看的inode号有上限,一旦inode达到上限就无法创建文件(即使磁盘还有空间)

技术分享图片 

 

4、inode号使用情况查看

df -h 磁盘的真实容量大小  Use% 磁盘使用空间

df -hi 磁盘的inode号    IUse%   inode号使用空间

这两个容量一旦有一个达到上限,磁盘都无法存数据

 

5、主要相关文件

系统默认的设置,位于目录:/etc/cron.*/

用户定义的设置,位于文件:/var/spool/cron/用户名

查看定时任务日志:/var/log/cron/

/etc/crontab定时任务的配置文件

 

6、开机自启动文件设置命令(扩展awk

技术分享图片 

JVM 中的OOMout of memory)内存溢出,涉及到操作系统优先级,轮询机制,按优先级一个一个kill

 

进程和计划任务管理

标签:建议   cpu   tmp   系统内存   ora   配置   机制   gre   需要   

原文地址:https://www.cnblogs.com/kakajiang/p/9871726.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!