Linux系统管理

作者: 李菜菜同学 | 来源:发表于2019-12-12 17:06 被阅读0次

    一、进程管理

    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 方法2

    2)查看后台的工作:

    #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 now + 2minutes //在两分钟之后执行

    此时出现at执行命令符,输入要执行的内容

    at >  /root/hello.sh >> /root/hello.log //在两分钟之后执行hello.sh脚本

    at管理命令


    例子

    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可以进行判断,从而将定时任务重新执行

    定义 检测周期 区别 配置文件 执行过程

    相关文章

      网友评论

        本文标题:Linux系统管理

        本文链接:https://www.haomeiwen.com/subject/rdqtnctx.html