管理资源吧

当前位置:管理资源吧首页>>>tech>>>c1>>>服务器教程

Linux常用的进程管理和查看指令

  &背景工作做符

  ctrl+ z 暂停

  ctrl + c 停止

  jobs [-l(list) , r(running jobs) ,-s(stop jobs)] 观察背景工作的状态

  fg %jobnumber 将背景工作拿到前景执行

  bg %jobnumber 让工作在背景的状态变成运作中(被ctrl暂停在背景的工作)

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

  kill -l ===>列出q能够使用的signal有哪些

  常用的kill的signal

  -1 重新读取一次参数的排位置文件(类似reload)

  -2 与ctrl的的i一样

  -9 立即强制停止一个工作( .filename.swap 文件会被遗在系统中)

  -15 正常停止一个工作

  kill signal PID或者[%jobnumber] (给该进程发送一天命令)

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

  上面的求导背景中去的工作都是你登陆是派生出来的子孙进程,在退出登陆后劲不能继续执行了

  脱机管理

  如果工作需要很长时间,你不能直到它执行完才下机,可以用at来处理, at是将工作放置到系统背景下,而与终端机无关

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

  程序管理

  找出最耗系统的程序

  找出内存中又问题的程序

  设置程序的优先级

  程序的观察

  ps 将某个时间点得进程运作情况获取下来

  ps 不加-a 或者-A参数仅仅列出与自己相关的process信息

  aux 观察系统中所有进程的数据

  -A 所有process都显示出来 与-e一样

  -a 不与terminal有关的所有程序

  -u 有效使用者(effective user )的相关process

  -l 列出叫详细的信息,包括pid

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

  [root@Sweety /]# ps -l

  F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD

  4 S 0 2685 2683 0 80 0 - 27117 wait pts/1 00:00:00 bash

  4 S 0 3232 1 0 80 0 - 27050 wait pts/1 00:00:00 mysqld_safe

  4 R 0 3647 2685 0 80 0 - 27033 - pts/1 00:00:00 ps

  F : 代表这个程序的旗标(flag) ,说明这个程序的总结权限

  4代表root

  S: 代表程序的状态

  R(Running)

  S(sleep)

  T(stop)

  Z(Zombie)

  C: 代表Cup的使用率

  ADDR(address) : 是kernel function 指出程序在内存中的那个部分如果是running的程序,一般会显示 -

  SZ (size) : 程序用掉的内存

  WCHAN : 表示程序是否在运行中 - 表示正在运行

  TIME+: 使用的cpu累加时间

  CMD : 触发进程的命令

  RSS : 进程占用固定内存的大小

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

  top: 动态观察程序的变化

  -d 数字 动态更新的时间差

  -b : 以批次的方式执行top(通常搭配重定向和-n使用)

[Ok3w_NextPage]

  -n : 与-b一起使用, 意义是需要执行几次top 输出的结果

  -p 进程的pid : 观察指定pid的进程

  top在执行过程中可以使用按键

  ? : 显示可以在top中输入的按键指令

  P : 以cpu占用率排序(默认)

  M: 以Memory的使用排序

  N: 以pid来排序

  T : 以该process占用的cpu积累时间排序

  r : 给PID重新定一个nice值 (按下r 然后输入要修改的pid号码)

  1 : 切换查看不同cpu的负载率

  q : 离开

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

  pstree

  -u : 同时列出每个process的PID

  -p : 同时列出每个process的所属账号

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

  priority 和nice

  PRI值是有核心动态调整的用户无法直接调整PRI的值;如果用户想调整PRI 的值,就得透过nice的值,一般来说,PRI和NI 的相关性如下

  PRI(new) = PRI(old) + nice(可以是-20~19之间)

  不过,如果原本饿PRI得值是50 ,并不是我们给一个nice=5 就会让PRI变成55 ,因为PRI是系统动态决定的,nice的值可以影响PRI,但最终的PRI值仍是要经过系统分析后才决定的;(nice的值有正负 郑表示降低优先级,符表示增加优先级)

  一般用户只可以调整自己的process的nice值,且只能调高nice的值

  调整process的优先级就是调整process的nice值

  如何调整某个程序的nice值

  1一开始执行程序就给予一个特定的nice值: 用nice指令

  nice -n 数值 命令(启动程序的命令)

  -n 后面接一个数值 (-20~ 19)

  2已经存在的进程的nice重新调整(或者top) : renice

  renice 数值(需要调整到饿nice值) PID(调整的process的PID)

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

  我们可以使用top观察到很多的系统资源和状态,还有其他的一些工具也可以查看系统资源

  free [-m 以M为单位显示]

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

  uname : 查看系统的核心相关信息

  -a : all 所有

  -s : 系统核心名(Linux)

  -r : 核心版本 ( 2.6.32-358.el6.x86_64 )

  -p : cpu类型 ( x86_64 )

  -i : 硬件平台 (x86_64)

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

  uptime : 观察系统启动时间与负载工作 (其实酒红色显示出top命令的第一行)

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

  netstat : 追踪网络或插槽文件

  -a : 所有

  -t : 列出tcp网络封包的数据

  -u : 列出UDP蒸包的数据

  -l : 列出目前正在监听的服务

  -p 显示PID

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

[Ok3w_NextPage]

  ------第一部分----相关字段意义----------

  proto : 网络封包协议 ,主要为tcp何udp

  Recv-Q : 由非远程主机链接到此socket的复制的中bytes数

  Send-Q : 非远程主机传送过来的acknowledged 总bytes数

  Local Address : 本地端的IP:port情况

  Foreign Adresses :远程主机的IP:Port情况

  state : 联机状态 ,主要有建立(ESTABLISHED) 和监听(LISTEN)

  /proc/* 代表的意义

  进程都是在内存中的,而内存当中的数据有都是写到/proc/*这个目录下的,所以我们可以直接观察/proc这个目录当中的档案

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

  fuser: 找出正在使用该档案的程序

  有时候我们想知道一个程序在这次启动过程中到底开启了多少档案,可以利用fuser来擦看

  example : fuser -uvm /proc ==>查看偶遇多少程序在进行/proc文件系统的存取

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

  lsof : 列出被程序开启的档案文件名

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

  pidof : 列出某个正在执行的程序的pid

  pidof [-sx] program_name

  -s : 仅列出一个PID而不是列出所有

  -x : 同时列出program name 可能的PPID 那个程序的PID

tech首页 更多tech