zoukankan      html  css  js  c++  java
  • linux 系统管理学习

    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


  • 相关阅读:
    css 深入理解
    2018 web经典面试题
    CSS 居中布局
    HTTP首部解析
    http状态码有那些?分别代表是什么意思?
    基本HTTP协议流程是什么?
    JS-变量
    javascript基础1
    css3弹性盒模型(Flexbox)
    文字效果和颜色
  • 原文地址:https://www.cnblogs.com/ninicwang/p/9070986.html
Copyright © 2011-2022 走看看