Linux系统管理
一、进程管理
1.进程管理的作用
1)判断服务器健康状态
2)查看系统中所有进程
3)杀死进程
2.进程的查看
1)查看所有进程
ps aux 查看系统中所有进程
ps -le 查看系统中所有进程
-a:显示一个终端的所有进程,除了会话引线
-u:显示进程的归属用户及内存的使用情况
-x:显示没有控制终端的进程
-l:长格式显示。显示更加详细的信息
-e:显示所有进程
ps aux的输出
user:这个进程是由哪个用户产生的
pid:进程ID号
%CPU:该进程占用CPU资源的百分比
%MEM:该进程占用物理内存的百分比
VSZ:该进程占用虚拟内存的大小
RSS:该进程占用实际内存的大小
TTY:该进程是在哪个终端中运行的
pstree 显示进程树
pstree -p查看每一个进程的pid进程号
pstree -u 显示进程所对应的用户
3.top命令判断系统的健康状态
注:(1)维护服务器时,服务器如果是高压力服务器,最好一个周重启一次,如果是低压力服务器最好一个月重启一次。
(2)buffer与cache的区别:buffer(缓冲)加速了数据的写入,cache(缓存)加速了数据的读取。


4.杀死进程
1)杀死单一进程
kill 信号代号 进程号(不能跟进程名)
注:如果修改了apache配置文件需要重启服务,这样的话如果正要使用网页的人就会无法访问,需要一种解决办法能够在重新加载配置文件的情况下,用户可以正常访问网页,用ps -le查看apache进程号,然后利用 kill -HUP apache进程号重启Apache,但不会终止已经登录的用户。
2)杀死某一类进程
killall 信号代号 进程名
pkill 信号代号 进程名
注:如果有两个用户登录系统,如果一个用户想根据用户名杀死另一个用户,可发现所有登录用户的进程名都相同,这是为了确保不把自己杀掉,需要用w命令查看所有登录用户,查看用户运行状态。然后利用pkill -9 -t tty1(终端号)
5.修改进程优先级
利用ps -le 查看进程优先级,PRI与NI都代表优先级,数字越小代表该进程优先级越高。修改进程优先级时不能改PRI的值,可以改NI的值。
NI的值范围是-20-19
普通用户调整NI值得范围是:0-19,而且只能调整自己的进程。普通用户只能调高NI值,不能降低。
root用户才能设定NI值为负值
PRI(最终值)=PRI+NI
=====================================
nice 【选项】命令
#nice命令可以给新执行的命令直接赋予NI值,但是不能修改已经存在进程的NI值
renice 【优先级】 PID
#renice只能修改某一个进程的优先级
二、工作管理(后台管理)
1.简介
工作管理指的是单个登录终端中同时管理多个工作的行为。
linux中查看有多少个进程在后台运行:jobs【-l】
windows后台管理就是把窗口最小化
linux后台管理的作用:为了使长时间运行的命令不卡在界面上
注:(1)只有当前的终端才能管理当前的后台工作,不能管理其他终端的后台工作。
(2)放入后台的命令必须可以持续运行一段时间,这样我们才能扑捉和操作这个工作
(3)放入后台执行的命令不能和前台用户有交互或需要前台输入,否则放入后台只能暂停,而不能执行。
2.方法
1)把进程放入后台
(1)执行命令+&(放入后台执行)
(2)在命令执行过程中ctrl+z(放入后台暂停)
2)查看后台的工作
jobs -l
3)将后台暂停的工作恢复到前台执行
fg %工作号(不是进程号)
4)将后台暂停的工作恢复到后台执行
bg %工作号 (不是进程号)
3.后台命令脱离登录终端执行
法一:把需要后台执行的命令加入/etc/rc.loacl文件
法二:使用系统定时任务,让系统在指定的时间执行某个后台命令
法三:使用nohup命令(标准)
三、linux系统资源查看
1.vmstat命令监控系统资源
vmstat 【刷新延时 刷新次数】
例:vmstat 1 3


2.dmesg命令显示的是系统的内核信息
例:dmesg | grep cpu
3.free命令查看内存使用状态
4.查看cpu信息
cat /proc/cpuinfo
5.uptime(top命令的第一行)
6.查看系统与内核相关信息
uname -a
7.判断当前系统的位数
file /bin/ls
8.查询当前linux系列的发行版本
lsb_realse -a
9.缓冲与缓存的区别
缓存(cache)是用来加速数据从硬盘中”读取“数据的,缓冲(buffer)是用来加速数据”写入“硬盘的。
四、系统定时任务
1.at一次性定时任务
1)确定at安装
chkconfig --list | grep atd #at服务是否安装
service atd restart #at服务的启动
2)at的访问控制


3)at命令


4)其他at管理命令
(1)atq #查看当前服务器上的at工作
(2)atrm #删除指定的at任务
2.crontab循环定时任务(不需要指定用户名)
1)crond服务管理与访问控制
(1)service crond restart
(2)chkconfig crond on
(3)访问控制


2)用户的crontab设置
(1)crontab -e(绑定当前的用户,谁执行这个命令,这个任务归谁管)
#进入crontab编辑界面。会打开vim编辑你的工作。
#*****执行的任务
例:10 * * * * /root/sh/apache_check.sh 说明这个任务会在1点10分,2点10分。。。。。12点10分
*/10 * * * * /root/sh/apache_check.sh 每隔十分钟执行一次


(2)contrab -l
#查看root用户的crontab任务
(3)crontab -r
#删除root用户的所有定时任务
3)crontab注意事项
(1)六个选项不能为空。如果不能确定使用”*“代替任意时间。
(2)crontab定时任务,最小有效时间是分钟,最大范围是月
(3)在定义时间时,日期和星期最好不要在一条定时任务中出现,因为他们都是以天为单位
(4)在定时任务中,不管是直接写命令,还是在脚本中写命令,最好都是用绝对路径。
3.系统的crontab设置(需要指定用户名)
1)执行系统定时任务的方法
法一:把需要定时执行的脚本复制到/etc/cron.{datily,weekly,monthly}目录中的任意一个,这些文件通过/etc/anacrontab文件调用。但缺点是执行时间不确定。
法二:修改/etc/crontab文件
4.anacron配置
1)定义:anacron是用来保证在系统关机的时候错过的定时任务,可以在系统开机后再执行。
2)检测周期:
(1)anacron会使用一天,七天,一个月作为检测周期
(2)在系统的/var/spool/anacron目录中存在cron.{daily,weekly,monthly}文件,用于记录上次执行cron的时间。
(3)和当前时间做比较,如果两个时间的差值超过了anacron的指定时间差值,证明有cron任务被执行。
3)anacron配置文件


4)anacron执行过程
这里按照cron.daily工作来说明执行过程
(1)首先读取/var/spool/anacron/cron.daily中的上次anacron执行的时间。
(2)和当前时间比较,如果两个时间差超过一天,就执行cron.daily工作。
(3)执行这个工做只能在03:00-22:00之间
(4)执行工作时强制延迟时间为5分钟,再随机延迟0-45分钟时间
(5)使用nice命令指定默认优先级,使用run-parts脚本执行/etc/cron.daily目录中的所有可执行文件。
注:anacron只会执行/etc/crontab文件的定时任务

五、服务管理
1.linux运行级别


注:单用户模式:启动最小的服务,然后把多余的服务都不开启,只要能保证系统正常运行就好。
1)运行级别命令
(1)查看运行级别命令:runlevel
N(进入这个级别之前为哪个级别) 3(当前所在的级别好)
(2)修改运行级别命令:init 级别号
2)修改系统默认运行级别
vim /etc/inittab
#系统开机后直接进入哪个运行级别
2.linux服务的分类
注:RPM包与源码包的区别:安装位置不同,RPM安装包的位置作者指定,源码包手工指定安装位置;独立的服务都是直接在内存中运行的,占用内存资源,基于xinetd服务,如果某个用户要访问后台程序,先通过xinetd服务,然后再访问后台程序,
可发现xinetd服务回应的速度比独立服务要慢,优点是除了xinetd服务本身占内存,其他的都不占内存。xinetd服务在目前的系统中基本上淘汰了;
3.查询已安装的服务
RPM包安装的服务:chkconfig --list #查看服务自启动状态,可以看到所有RPM包安装的服务(RPM包的服务启动目录是/etc/rc.id/init)
源码包安装的服务:查看服务安装状态,一般是/usr/local下
4.服务与端口
1)查询系统中开启的服务
netstat -tlump
5.独立服务的启动
1)/etc/init.d/独立服务名
start|stop|status|restart
2)service 独立服务名
start|stop|restart|status
6.独立的服务自启动
chkconfig --list | grep httpd(查看apache服务是否为自启动)
1)修改服务为自启动
法一:chkconfig --level 2345 服务名 on
法二:修改/etc/rc.d/rc.local文件
法三:使用ntsysv命令管理自启动
7.源码包服务管理
所有的默认管理RPM包的命令都不能管理源码包
1)源码包安装服务的启动
使用绝对路径,调用启动脚本来启动。不同的源码包的启动脚本不同。可以查看源码包的安装说明,查看启动脚本的方法;
例:启动Apache服务:/usr/local/apache/bin/apachectl start
2)源码包服务的自启动
vi /etc/rc.d/rc.local
3)让源码包服务被服务管理命令识别
ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apache

linux 系统管理学习的更多相关文章

  1. Linux系统管理学习实训任务书

    1.<Linux系统管理实训任务一之搭建实验基础环境> https://www.toutiao.com/i6763578305091207694/ 2.<Linux系统管理实训任务一 ...

  2. Linux基础学习(13)--Linux系统管理

    第十三章——Linux系统管理 一.进程管理 1.进程查看: (1)进程简介:进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源. (2)进程管理的 ...

  3. 【Linux学习】Linux系统管理2—作业调度

    Linux系统管理2-作业调度 at: 作业仅执行一次就从系统工作队列中取消 语法 denny@ubuntu:~$ at [-m] TIME                     → 作业命令at ...

  4. 【Linux学习】Linux系统管理1—进程管理

    Linux系统管理1-进程管理 一.Linux的三种进程 Linux包括3中不同类型的进程: 交互进程:由一个shell启动的进程.交互进程可以在前后台运行 批处理进程:该进程和终端无联系,是一个进程 ...

  5. 别出心裁的Linux命令学习法

    别出心裁的Linux命令学习法 操作系统操作系统为你完成所有"硬件相关.应用无关"的工作,以给你方便.效率.安全.操作系统的功能我总结为两点:管家婆和服务生: 管家婆:通过进程.虚 ...

  6. 【转载】Linux小白福利:《超容易的Linux系统管理入门书》(三)在虚拟机上安装Linux

    本篇是Linux小白最佳实践第3篇,目的就是让白菜们自己动手安装个Linux玩玩.如果你是Linux小白,请务必亲自动手来安装.不想安装多个操作系统的,虚拟机是最佳选择,一台电脑上可以用虚拟机安装7. ...

  7. 【转载】应读者强烈要求给出《超容易的Linux系统管理入门书》一书的主要知识点

    刚开始了一篇连载,收到广大Linux爱好者的反馈,非常欣慰.大家对Linux学习感到很迷茫,不知道学哪些内容,如何学习? <超容易的Linux系统管理入门书>一书是腾讯Linux专家在腾讯 ...

  8. 【转载】应广大群众的要求,今天开始连载《超容易的Linux系统管理入门书》一书

    学习Linux容易嘛?我说超容易,你肯定不信.那学习Linux最好的学习方法是什么,就是脑子里面一直提问题,不停的提,时时刻刻提,如果你没有问题,那再容易的学习书你也看不懂. <超容易的Linu ...

  9. 【书评】RHCSA/RHCE Red Hat Linux 认证学习指南(第6版)EX200 & EX300

    这次参加 CSDN 举办的读书活动,正赶上项目忙,看得也是断断续续,拖了2周了,才能来写这个书评. ========== 书评的分割线 ========== 首先,我会肯定的告诉你,不论你是一名专业的 ...

随机推荐

  1. 个人测试SQL学习

    --普通方法赋值 declare @a int print @a --Update 方法赋值 ) ' print @name --Select 语句赋值 ) ' print @name ) selec ...

  2. MySQL 大数据备份方案之Percona XtraBackup

    Xtrabackup介绍 1.Xtrabackup是什么 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbacku ...

  3. Runtime 解读

    首先,第一个问题, 1>runtime实现的机制是什么,怎么用,一般用于干嘛? 这个问题我就不跟大家绕弯子了,直接告诉大家, runtime是一套比较底层的纯C语言API, 属于1个C语言库, ...

  4. 版本控制(svn、Git)环境创建

    1.SVN 2.Git last 版本控制工具应该具备的功能: 协同修改: 数据备份: 版本管理: 权限控制: 历史记录:查看修改人.修改时间.修改内容…… 分支管理:开发团队在工作过程中多条产品线同 ...

  5. nginx ------反向代理和负载均衡

    最近由于公司的业务增长 服务器承受不住压力经常出现崩溃现象 为了解决 使用nginx的负载均衡解决,以下是操作步骤: 1.nginx 的负载均衡:将压力分散到不同的机器上 nginx不单可以作为强大的 ...

  6. 6. 添加messager.alert()确定按钮的回调函数,即点完确定按钮后触发的事件

    添加messager.alert()确定按钮的回调函数,即点完确定按钮后触发的事件: $.messager.alert('提示信息', "请联系管理员处理!", 'info', f ...

  7. c#随机生成英文名

    private static string GenerateSurname() {     string name = string.Empty;     string[] currentConson ...

  8. 获取cxgrid footer内容

    cxGridDBTableView1.DataController.Summary.FooterSummaryValues[4];

  9. 从performance_schema中查看MySQL活动Session的详细执行信息

    本文出处:http://www.cnblogs.com/wy123/p/7851294.html 在做数据库的异常诊断的时候,之前在SQL Server上的时候,最主要的参考信息之一就是去看当前的活动 ...

  10. route命令详解

    1.   使用背景:需要接入两个网络,一个是部署环境所在内网环境,这个环境是上不了外网, 外网环境很可能是一个无线网络.如果两者都连接上,很可能导致有一方不能起作用,即外网或内网上不了,常常需要使用繁 ...