linux运维之进程管理

进程管理、

  32位系统识别4G内存

  64位系统能识别4G的4G内存

    抢占式多路任务

程序[ELF]=指令+数据

init为进程的父进程

伪文件进程,目录在/proc/


 bash-4.2# ls /proc/1
attr     coredump_filter  gid_map mountinfo   oom_score_adj  sessionid  syscall
autogroup   cpuset      io  mounts     pagemap    setgroups  task
auxv     cwd       limits mountstats  personality    smaps      timers
cgroup     environ      loginuid net     projid_map    stack      uid_map
clear_refs  exe       map_files ns     root    stat       wchan
cmdline     fd       maps oom_adj     sched    statm
comm     fdinfo      mem oom_score   schedstat    status


进程有多个执行流,又称为线程

top命令

   M:按内存占有百分比进行显示

   P:按CUP占有百分比显示排列(默认排列方式)

  T:按累积占用时长百分比进行排列

 -l  是不显示负载信息

 t 是否显示进行统计数信息

m:是否显示内存摘要信息

q :退出

K:杀死信号

s:改变top刷新时间间隔

常用选项

      -d #: 表示刷新时间间隔

     -n # 指定显示的次数

    htop命令

top命令的升级版,系统默认没有安装的。要自己下载安装

a、编译安装

http://sourceforge.net/projects/htop/files/latest/download

进行下载安装

tar -xfv htop....tag.gz进行解压

进入目录#./configure  进行安装

bash-4.2# ./configure
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
。。。

;;

checking for strstr... yes
checking for strdup... yes
checking whether gcc -std=c99 option works... yes
checking for refresh in -lncursesw... no
configure: error: You may want to use --disable-unicode or install libncursesw.
表示GCC没安装好。

yum install -y gcc

如果还会出错。

# yum install ncurses-devel

现在再用#./configure进行编译安装

#make

#make install

即可完成安装

b、RPM方式安装

# rpm -ivh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

  # rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL //导入key

# yum install htop

 

htop支持鼠标  ,

 u:按用户显示进程

  q:退出

  #:数字,锁定PID


#vmstat

bash-4.2# vmstat
      procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
      r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
      3  0      0 1248936   1136 504568    0    0    19    10   37   53  0  1 99  0  0
             r  :运行或等待CPU进程的个数

              b:被阻塞的进程长度

           memory

               swpd   从物理内存交换到SWAP中的数据量

               free   未使用内存大小

              buffer   buffer空间大小,通常与缓存写操作相关

             cache  cache空间大小,通常与缓存读操作相关

       swap

             si : swap in 数据进入swap中的数据量,通常是速率 kb/s

            so    swap out 数据高开的swap的数量量

     io

        bi : block   in, 从块设备读入数据量,通常是速率 kb/s

        bo : block out  保存至设备中的数据量,通常速率是kb/s

    system

          in:中断发生速率,每秒的中断数

          cs:context switch 上下文切换,进程切换,速率,通常为每秒切换的次数

    cpu

       us:用户占用比例

       sy:系统内核占用比例

       id:  io占用比例

      wa: 空闲等待占有比例

      st:被偷走的比例

 -s :显示内存统计数据

dstat

 

nice

          进程:nice值

                   手动调整进程优先级

                   -20  ,19

                   100,139

                  普通用户只能调大值,值越大优先级越低

                           对尚未启动的进程时

                         #nice -n #   command

renice

            对启动的进程进行调

               renice  # 进程PID

   

pstree  :显示进程树

ps:显示系统当前程序进程状态

tty:查看当前终端

     linux终端

       控制台/dev/console

             物理终端

             虚拟终端  /dev/tty[1-6] 

             模拟终端 /dev/pts/#

             串行终端 /dev/ttyS#

  ps a 所有与终端相关的进程

      x:所有与终端无关的进程

         STAT

              S:可中断的睡眠状态

              D:不可中断的睡眠状态

              R:运行或者可运行的

              T:停止

              Z:僵死

              s:session leader

              l:多线程进程

              +:前台进程

               N:低优先级进程

              <:高优先级

          Time  运行时间

           u:以用户为中心的显示进程相关信息

               %CPU  cputime

               VSZ   virtual memery Size   虚拟内存存| 线性内在大小

               RSS   不可交换实际内存集[非可交换内存集]

           -ef

                -e:显示所有进程

                 -f:显示完整进程列表

                -F:显示额外信息

                -H:显示进程层次关系

                 -o:要显示的字段  自字义格式

                 如 #ps -axo

   pgrep

                -U  用户名 :显示用户相关进程

               -G  组名 :显示组相关进程

                     # pgrep -U hadoop

      pidof   显示程序Uid

                 pidof   ssh

                       # pidof sshd

 

    kill:  用于实现向其它进程发送信息

             kill -l

            man 7 signal

              kill -SIGNAL

                      数字代表:如1、6等

                      信号名称 如:SIGHUP等   可简写HUP

                 

 

                 1、SIGHUP:让程序重读配置文件,而不用重启程序

                 2、SIGINT:中断信号,CTRL+C 就是此信号

                 9、SIGKILL:杀死进程  如: kill -9  PID |11583

                 15 SIGTERM:终止进程

                 19、SIGSTOP:停止进程

 

    pmap 

    #pmap PID 1

   查看进程pid对射表

  • blogger

版权所有:oldboy ---- 《linux运维之进程管理
本文地址:http://www.bokeren.cc/post-66.html
除非注明,文章均为 《悠然生活的平淡博客-博客人linux运维之家》 原创转载请注明本文地址,谢谢。


相关推荐

你肿么看?

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。