第10章 Linux系统进程管理

  1. uptime查看cpu负载工具,详述弹出的消息含义
    1. 13:22:30  当前前时间
    2. up 20days  系统运行时间 ,说明此服务器连续运行 20 天了
    3. 2 user  当前前登录用户数
    4. load average: 0.06, 0.60,0.48
    5. 系统负载,即任务队列的平均长度。 三个数值分别为 1 分钟、5 分钟、15 分钟前到现在的平均值。
    6. 如果服务器的 CPU 为 1 核心,则 load average 中的数字 >=3 负载过高,如果服务器的 CPU 为 4 核心,则 load average 中的数字 >=12 负载过高,我们认为超过 3 就升级 CPU
  2. top命令,详述每行字段含义

    1. 第一行和uptime信息一样
       

    2. 第二行Tasks: 481 total  迚程总数
      1 running  正在运行的迚程数
      480 sleeping  睡眠的迚程数
      0 stopped  停止的迚程数
      0 zombie  僵尸迚程数

    3. 第三行Cpu(s): 0.0% us  系统用户迚程使用 CPU 百分比。
      0.0% sy  内核中的迚程占用 CPU 百分比
      0.0% ni  用户迚程空间内改变过优先级的迚程占用 CPU 百分比
      98.7% id  空闲 CPU 百分比
      0.0% wa  cpu 等待 I/0 完成的时间总量。0.0% hi(了解)
      硬中断消耗时间
      硬中断,占的 CPU 百分比。1. 硬中断是由硬件产生的,比如,像
      磁盘,网卡,键盘,时钟等。每个设备戒设备集都有它自己的 IRQ(中
      断请求)。基亍 IRQ,CPU 可以将相应的请求分发到对应的硬件驱劢上
      (注:硬件驱劢通常是内核中的一个子程序,而丌是一个独立的迚程)。
      # hi -> Hardware IRQ: The amount of time the CPU has been
      servicing hardware interrupts.
      0.0% si(了解)
      软中断消耗时间
      软中断,占的 CPU 百分比。1. 通常,软中断是一些对 I/O 的请求。
      这些请求会调用内核中可以调度 I/O 发生的程序。对亍某些设备,I/O
      请求需要被立即处理,而磁盘I/O请求通常可以排队并且可以稍后处理。
      根据 I/O 模型的丌同,迚程戒许会被挂起直到 I/O 完成,此时内核调度
      器就会选择另一个迚程去运行。I/O 可以在迚程乊间产生并且调度过程
      通常和磁盘 I/O 的方式是相同。# si -> Software Interrupts.: The
      amount of time the CPU has been servicingsoftware
      interrupts.
      0.0 st (steal 偷)
      st:虚拟机偷取物理的时间。比如:物理机已经运行了 KVM,XEN
      虚拟机。KVM 虚拟机占用物理机的 cpu 时间

    4. 第四行Mem: 2033552k
      total物理内存总量
      340392k used  使用的物理内存总量
      1376636k free  空闲内存总量
      316524kbuff/cache用作内核缓存的内存量。和 free -k 一个意思

    5. 第五行Swap: 2017948k
      total交换区总量
      0k used  使用的交换区总量
      192772k free  空闲交换区总量
      1518148 avail Mem  总的可利用内存是多少

    6. 第六行PID  进程 id
      USER  进程所有者的用户名
      PR  优先级(由内核动态调整),用户不能
      NI进程优先级。 nice 值。负值表示高优先级,正值表示低优先级,用户可以自己调整
      VIRT(virtual memory usage)虚拟内存,是进程正在使用的所有内存(ps 中标为 VSZ)
      VIRT:virtual memory usage 虚拟内存
      1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
      2、假如进程申请 100m 的内存,但实际只使用了 10m,那么它会增长 100m,而不是实际的使用量
      RES(resident memory usage)是进程所使用的物理内存。实际实用内存(ps 中标为 RSS)
      RES:resident memory usage 常驻内存
      1、进程当前前使用的内存大小,但不包括 swap out
      2、包含其他进程的共享
      3、如果申请 100m 的内存,实际使用 10m,它只增长 10m,与VIRT相反
      4、关于库占用内存的情况,它只统计加载的库文件所占内存大小
      SHR
      共享内存大小,单位 kb
      SHR:shared memory 共享内存
      1、除 M 了自身进程的共享内存,也包括其他进程的共享内存
      2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
      3、计算某个进程所占的物理内存大小公式:RES – SHR
      4、swap out 后,它将会降下来
      S
      进程状态。
      D=不可中断的睡眠状态
      R=运行中或可运行
      S=睡眠中
      T=已跟踪/已停止
      Z=僵停
      %CPU  上次更新到现在的 CPU 时间占用百分比
      %MEM  进程使用的物理内存百分比
      TIME+  进程使用的 CPU 时间总计,单位 1/100 秒
      COMMAND  命令名/命令行
  3. 操作一遍top命令快捷键,s,P,M,T,p,u,h,q
    1. 默认3秒刷新一次,按s修改刷新时间,按空格立即刷新
    2. 大写P按cpu排序
    3. 大写M按内存排序
    4. T按时间排序
    5. top -p pid  查看某个进程的状态 ,ps -aux | grep mysqld
    6. 数字1,显示每个内核的cpu使用率
    7. u,输入用户,显示该用户的进程
  4. 找出系统中使用cpu最多的进程
    1. top  -P
  5. 使用screen新建会话,在会话中ping baidu.com >> a.txt,ctrl+a+d切换回shell窗口,使tail动态查看a.txt ,用lsof查看ping在读哪些文件,使用lsof查看22被哪些进程占用,回到screen建立的会话,退出该会话。
    1. screen -S test
    2. ping baidu.com >> a.txt
    3. ctrl +a +d
    4. tail -f a.txt
    5. ps aux | grep baidu.com
    6. lsof -p pid
    7. lsof -i:22
    8. screen -r test
  6. 使用netstat 查看80端口被哪些进程占用
    1. netstat -lnput | grep 80
  7. 显示系统中可用内存和已用内存的数量,简述每个字段含义
    1. free -m
  8. 使用vim 编辑a.txt,停止该进程,查看后台有多少挂起的进程,恢复vim到前台运行
    1. vim a.txt
    2. ctrl +z
    3. jobs
    4. fg #
  9. 使用vim编辑a.txt并指定该进程为优先级为7,停止该进程,查看该进程优先级,修改该进程优先级为负7。
    1. nice -n +7 vim a.txt
    2. ctlr +z
    3. ps aux | grep a.txt
    4. top -p pid
    5. renice -7 pid
    6. jobs
    7. fg 1
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值