大数据之Linux(一):常用基本命令10

进程线程类
进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
1.1 ps 查看当前系统进程状态
ps:process status 进程状态

  1. 基本语法
    ps aux | grep xxx (功能描述:查看系统中所有进程)
    ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)
  2. 选项说明
选项 功能
-a 选择所有进程
-u 显示所有用户的所有进程
-x 显示后台进程得运行参数
  1. 功能说明
    (1)ps aux显示信息说明
    USER:该进程是由哪个用户产生的
    PID:进程的ID号
    %CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;
    %MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;

(2)ps -ef显示信息说明
UID:用户ID
PID:进程ID
PPID:父进程ID
C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高

  1. 经验技巧
    如果想查看进程的CPU占用率和内存占用率,可以使用aux;
    如果想查看进程的父进程ID可以使用ef;
  2. 案例实操
[root@hadoop101 datas]# ps aux
[root@hadoop101 datas]# ps -ef

1.2 kill 终止进程

  1. 基本语法
    kill [选项] 进程号 (功能描述:通过进程号杀死进程)
    killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
  2. 选项说明
选项 功能
-9 表示强迫进程立即停止
  1. 案例实操
    (1)杀死浏览器进程
[root@hadoop101 桌面]# kill -9 5102
(2)通过进程名称杀死进程
[root@hadoop101 桌面]# killall firefox

1.3 top 查看系统健康状态

  1. 基本命令
    top [选项]
  2. 选项说明
选项 功能
-d 秒数 指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令:
-i 使top不显示任何闲置或者僵死进程
-p 通过指定监控进程ID来仅仅监控某个进程的状态
  1. 查询结果字段解释
    第一行信息为任务队列信息
    内容 说明
    12:26:46 系统当前时间
    up 1 day, 13:32 系统的运行时间,本机已经运行1天
    13小时32分钟
    2 users 当前登录了两个用户
    load average: 0.00, 0.00, 0.00 系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1时,负载较小。如果大于1,系统已经超出负荷。
    第二行为进程信息
    Tasks: 95 total 系统中的进程总数
    1 running 正在运行的进程数
    94 sleeping 睡眠的进程
    0 stopped 正在停止的进程
    0 zombie 僵尸进程。如果不是0,需要手工检查僵尸进程
    第三行为CPU信息
    Cpu(s): 0.1%us 用户模式占用的CPU百分比
    0.1%sy 系统模式占用的CPU百分比
    0.0%ni 改变过优先级的用户进程占用的CPU百分比
    99.7%id 空闲CPU的CPU百分比
    0.1%wa 等待输入/输出的进程的占用CPU百分比
    0.0%hi 硬中断请求服务占用的CPU百分比
    0.1%si 软中断请求服务占用的CPU百分比
    0.0%st st(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。
    第四行为物理内存信息
    Mem: 625344k total 物理内存的总量,单位KB
    571504k used 已经使用的物理内存数量
    53840k free 空闲的物理内存数量,我们使用的是虚拟机,总共只分配了628MB内存,所以只有53MB的空闲内存了
    65800k buffers 作为缓冲的内存数量
    第五行为交换分区(swap)信息
    Swap: 524280k total 交换分区(虚拟内存)的总大小
    0k used 已经使用的交互分区的大小
    524280k free 空闲交换分区的大小
    409280k cached 作为缓存的交互分区的大小
  2. 案例实操
[root@hadoop101 jinghang]# top -d 10
[root@hadoop101 jinghang]# top -i
[root@hadoop101 jinghang]# top -p 2575

1.4 netstat 显示网络统计信息和端口占用情况

  1. 基本语法
    netstat -anp | grep 进程号 (功能描述:查看该进程网络信息)
    netstat -nlp | grep 端口号 (功能描述:查看网络端口号占用情况)
  2. 选项说明
选项 功能
-n 拒绝显示别名,能显示数字的全部转化成数字
-l 仅列出有在listen(监听)的服务状态
-p 表示显示哪个进程在调用
-a 显示处于监听状态和处于非监听状态的socket信息
  1. 案例实操
    (1)通过进程号查看该进程的网络信息
[root@hadoop101 hadoop-2.7.2]# netstat -anp | grep 火狐浏览器进程号
unix  2      [ ACC ]     STREAM     LISTENING     20670  3115/firefox        /tmp/orbit-root/linc-c2b-0-5734667cbe29
unix  3      [ ]         STREAM     CONNECTED     20673  3115/firefox        /tmp/orbit-root/linc-c2b-0-5734667cbe29
unix  3      [ ]         STREAM     CONNECTED     20668  3115/firefox        
unix  3      [ ]         STREAM     CONNECTED     20666  3115/firefox     

(2)查看某端口号是否被占用

[root@hadoop101 桌面]# netstat -nlp | grep 20670 
unix  2      [ ACC ]     STREAM     LISTENING     20670  3115/firefox        /tmp/orbit-root/linc-c2b-0-5734667cbe29
上一篇:大数据之Linux(一):常用基本命令6


下一篇:130、定义和声明的区别