进程介绍

'进程'
进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源

ps命令基本使用

ps命令用来查看在计算机系统中那些程序正在执行,以及执行的情况。可以用它来找出所有的process id和名称。
ps命令也可以用来列出所有程序占用内存的情况
'ps -(选项)'
'a' 显示一个终端的所有进程,除了会话引线
'u' 显示进程的归属用户以及内存的使用情况
'x' 显示没有控制终端的进程
'-l' 长格式显示,显示更加详细的信息
'-e' 显示所有进程和'-A'作用一致
实例:
'ps aux'
查看系统中所有进程

[root@ssgao1987 ssgao]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  19364  1604 ?        Ss   Jul08   0:00 /sbin/init
root         2  0.0  0.0      0     0 ?        S    Jul08   0:00 [kthreadd]

'USER'该进程由哪个用户产生的
'PID' 进程的ID号
'%CPU' 该进程占用CPU资源的百分比,占用越高,进程越耗费资源
'%MEM'该进程占用物理内存的百分比,占用越高,进程越耗费资源
'VSZ' 该进程占用虚拟机内存的大小,单位KB
'RSS' 该进程占用实际物理内存的大小,单位KB
'TTY' 该进程是哪个终端运行的,tty1-tty7表示代表本地控制台终端,tty1-tty6是本地字符界面终端
tty7是图形终端,pts/0-255代表虚拟终端
'STAT' 进程状态,常见的状态R:运行,S:睡眠,T:停止状态,s:包含子进程,+:位于后台
'START' 进程的启动时间
'TIME' 该进程占用CPU的运算时间,注意不是系统时间
'COMMAND' 产生此进程的命令名

PSTREE基本使用

>>>pstree [选项]
-p: 显示进程的PID
-u:显示进程的所属用户

[root@ssgao1987 ssgao]# pstree -pu
init(1)─┬─auditd(1135)───{auditd}(1136)
       ├─console-kit-dae(1387)─┬─{console-kit-da}(1388)
       │                       ├─{console-kit-da}(1389)
       │                       ├─{console-kit-da}(1390)
       │                       ├─{console-kit-da}(1391)
.......

top命令基本使用

top命令可以查看目前程序的执行情景和内存使用。和ps类似,不过它会几秒钟更新一次系统状态方便追踪。
离开按Ctrl+C/或q键
'top [选项]'
'-d' 秒数:指定top命令每隔几秒更新,默认是3秒
'-b' 使用批处理模式输出。一般和-n选项合用
'-n'次数:指定top命令执行的次数
'P'以cpu使用率排序
'M'以内存的使用率排序
'N'以PID排序
'q' 退出top
top -b -n 1 >top.log
将所有进程刷新一次的信息全部写入到top.log文件
[root@ssgao1987 ssgao]# top

top - 10:23:12 up 17:16,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  82 total,   1 running,  81 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1020052k total,   382400k used,   637652k free,    62460k buffers (加速写入)
Swap:  1048572k total,        0k used,  1048572k free,   204940k cached(加速读取)
------------------
第一行:
top - 10:23:12 up 17:16,  1 user,  load average: 0.00, 0.00, 0.00
1) 系统当前时间
2) 系统的运行时间
3) 当前登录的用户数
4) 系统在1分钟,5分钟,15分钟的平均负载,一般认为小于1时,负载较小,如果大于1,系统已经超出负荷
------------------
第二行:
Tasks:  82 total,   1 running,  81 sleeping,   0 stopped,   0 zombie
1) 系统总进程数
2)正在运行的进程数
3) 睡眠的进程
4) 正在停止的进程
5) 僵尸进程,如果不是0,需要手工检查僵尸进程
------------------
第三行:
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
1) 用户模式占用的CPU百分比
2)系统模式占用的CPU百分比
3)改变过优先级的用户进程占用的CPU百分比
4)等待输入/输出的进程占用CPU百分比
5)硬中断请求服务占用的CPU百分比
6)软中断请求服务暂用的CPU百分比
st虚拟时间百分比,就是当虚拟机时,虚拟CPU等待实际CPU的时间百分比
------------------
第四行
Mem:   1020052k total,   382400k used,   637652k free,    62460k buffers (加速写入)
1)物理内存总量
2)已经使用的物理内存数量
3)空闲物理内存数量
4)作为缓冲区的内存数量
------------------
第五行:
Swap:  1048572k total,        0k used,  1048572k free,   204940k cached(加速读取)
1)交换分区
2)已经使用的交互分区的大小
3)空闲交换分区大小
4)作为缓存的交互分区的大小

kill命令

kill 命令用来终止一个正在执行的进程,如一个执行过程失败了,可以把这个程序终止,避免留在内存中占用系统资源。
不过,它的实际意义是送一个信号给这个正在执行的程序,叫它自杀。可以发送很多信号给这写程序,也可以让他们受到信好后做很多事情。
命令格式 kill -(选项) pid
在执行kill命令前。可以先用ps查一下某宕掉程序的pid,然后使用kill除去某个程序。例如终止pid为90的程序:kill 90
-l 列出所有可用的信号名称
-p 印出pid并不发送信号
-signal 其中可用的讯号有HUP(1) ,KILL(9),TERM(15),分别代表着重跑,砍掉,结束
将pid为323的进程砍掉
kill -9 323
将pid为456的进程重跑(restart)
kill -HDP 456
kill -1 2235
重启进程
kill -9 2236
强制杀死进程
kill 2236
不强制杀死,待执行结束后终止进程

java的进程查看

jps命令
查看java进程
列出所有的jvm实例
是jdk1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合linux平台简单查看java进程的一些简单情况
'jps -q'
只显示pid,不显示class名称,jar文件名和传递给main方法的参数
'jps -m'
输出传递给main方法的参数,在嵌入式jvm上可能是null
jps [ options ] [ hostid ]
选项
-q 仅输出VM标识符,不包括class name,jar name,arguments in main method
-m 输出main method的参数
-l 输出完全的包名,应用主类名,jar的完全路径名
-v 输出jvm参数
-V 输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件
-Joption 传递参数到vm,例如:-J-Xms48m

linux系统管理 系统进程的更多相关文章

  1. Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载五)Linux系统的对话方式

    本篇是Linux小白最佳实践第5篇,目的就是让白菜们了解Linux进程之间是如何对话的.之前连载的几篇,在微信上引起了很多的反响,有人也反映图多文字少,感觉没有干货.本篇选了大部分是实战讲解的&quo ...

  2. Linux系统管理和维护常用命令

    Linux系统管理和维护常用命令 ls 命令 功能说明 ls 命令显示指定工作目录下的内容,列出工作目录所包含的文件及子目录. 语法结构: ls [选项] [路径或文件] ls 选项及说明 -a 显示 ...

  3. Linux系统管理常用命令

    Linux系统管理常用命令 分类: Linux2011-01-10 18:26 1538人阅读 评论(0) 收藏 举报 linuxcommandservicenginxuserunix 目录(?)[+ ...

  4. 【Linux】linux系统管理---好用的一些开源工具

    目录 linux系统管理---好用的一些开源工具 htop dstat Glances iftop nethogs iotop linux系统管理---好用的一些开源工具 htop htop是一款运行 ...

  5. Linux系统管理远程登录工具PUTTY

    PuTTY 简介        PuTTY是一个Telnet.SSH.rlogin.纯TCP以及串行接口连线软件.较早的版本仅支持Windows平台,在最近的版本中开始支持各类Unix平台,并打算移植 ...

  6. 【转载】茶叶蛋干货!《超容易的Linux系统管理入门书》(连载十)进行动态主机配置DHCP

    使用动态主机配置协议DHCP(Dynamic Host Configuration Protocol)则可以避免网络参数变化后一些繁琐的配置,客户端可以从DHCP服务端检索相关信息并完成相关网络配置, ...

  7. 【转载】绝对干货!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载九)如何通过源代码安装软件

    除了使用Linux的包管理机制进行软件的安装.更新和卸载,从源代码进行软件的安装也是非常常见的,开源软件提供了源代码包,开发者可以方便的通过源代码进行安装.从源码安装软件一般经过软件配置.编译软件.执 ...

  8. 【转载】干货再次来袭!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载八)用命令实现批量添加用户

    Windows添加用户需要至少5个界面,而Linux一条命令就搞定了,这是不是高效人士办公第一法则呢.本文不给你一堆参数和选项,不让你见识教条主义,只给你最实用的代码. 想每天能听到小妞的语音播报,想 ...

  9. 【转载】干货来袭!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载七)LAMP集成安装

    学Linux做程序开发也好,做系统管理也好,做网络管理员也好,做系统运维也好,不会LAMP和LNMP,那就等于连皮毛都不会!本篇是文字版的LAMP集成安装,下次连载我们要介绍LNMP的文字版安装.有喜 ...

随机推荐

  1. 让browserify接收命令行参数,在打包时parse yml配置文件

    功能需求: 1用browserify把各种js打包成浏览器端的1个bundle.js,含有yml配置文件 约束: 1 yml配置文件不在当前工程里(现在还不知道放哪里,以后也会变),希望在打包时,用命 ...

  2. CC4 表达方式----输赢

    “我要赢,不管付出什么,我一定要赢!”当我赢得时候,“我赢了!(欢呼)”.当我输的时候“不,我不要输.不开心.(垂头丧气)”.这样的场景你是否熟悉呢?我的一生都在经历输赢.以前我会为了赢一场游戏,花费 ...

  3. Ubuntu 追加组,用户,设置免sudo密码输入

    1,以root权限执行groupadd命令创建dev组.     sudo groupadd dev 2,用adduser命令创建bpuser用户,--ingroup指定用户加入dev组.   sud ...

  4. 全排列问题Ⅱ(Java实现)

    题目: 给定一个可包含重复数字的序列,返回所有不重复的全排列. 示例: 输入: [1,1,2] 输出: [ [1,1,2], [1,2,1], [2,1,1] ]这个问题和我的上一篇问题分析的手法一样 ...

  5. jenkins之从0到1利用Git和Ant插件打war包并自动部署到tomcat(第一话):初次启动jenkins,输入给定密码后登录失败问题解决

    Jenkins是一个持续集成平台,它能够从git等源码管理服务器拉取代码.打包并发布到tomcat等中间件,只要配置好相关插件,就可以做到项目的自动化构建.部署,不论是对开发来说监控代码质量,还是对测 ...

  6. 嵌入式Servlet容器自动配置和启动原理

    EmbeddedServletContainerAutoConfiguration:嵌入式的Servlet容器自动配置? @AutoConfigureOrder(Ordered.HIGHEST_PRE ...

  7. 雷林鹏分享: C# 简介

    C# 简介 C# 是一个现代的.通用的.面向对象的编程语言,它是由微软(Microsoft)开发的,由 Ecma 和 ISO 核准认可的. C# 是由 Anders Hejlsberg 和他的团队在 ...

  8. Hypergeometric distribution

    How TermFinder calculates P-values Readme: MGI GO Term Finder The GoTermFinder attempts to determine ...

  9. hadoop ssh 端口-ssh-copy-id详解

    ssh-copy-id详解 http://www.blogdaren.com/post-1815.html 服务器时常需要配置无密码的登录方式,最一般的设置方式如下: 使用ssh-keygen和ssh ...

  10. source code spark

    http://blog.csdn.net/pelick/article/category/1556747 http://www.cnblogs.com/hseagle/