Ubuntu 18.04 ———查看VIO算法占用内存和CPU运行情况

  • 方法一
  • 一、安装htop
  • 二、htop的界面操作
  • 方法二
  • 1. 查看VIO算法占用内存和CPU运行情况
  • 2. 使用`top`命令查看算法的Command执行命令的代码
  • 3. 运行VIO算法占用内存和CPU数据命令
  • 4. 求取平均值
  • 5. 得到真实值


方法一

一、安装htop

sudo apt install htop

centos ubuntu 那个占资源少 ubuntu占用内存_数据

二、htop的界面操作

centos ubuntu 那个占资源少 ubuntu占用内存_自动驾驶_02

  1. PID – 描述进程的ID号
  2. USER – 描述进程的所有者(谁跑的)
  3. PRI – 描述Linux内核查看的进程优先级
  4. NI – 描述由用户或root重置的进程优先级
  5. VIR – 它描述进程正在使用的虚拟内存 (virtual memory)
  6. RES – 描述进程正在消耗的物理内存(physical memory)
  7. SHR – 描述进程正在使用的共享内存(shared memory)
  8. S – 描述流程的当前状态 (state)
  9. CPU% – 描述每个进程消耗的CPU百分比
  10. MEM% – 描述每个进程消耗的内存百分比
  11. TIME+ – 显示自流程开始执行以来的时间
  12. Command –它与每个进程并行显示完整的命令执行 (比如/usr/lib/R)

常用命令:
-u 选项 : 显示指定的用户的进程信息列表。例如,htop -u himanshu 命令会只显示出用户名为 himanshu 的相关进程。
-d 选项 : 设置刷新的延迟时间。例如,htop -d 100 命令会使输出在1秒后才会刷新(参数 -d 的单位是10微秒)。

方法二

1. 查看VIO算法占用内存和CPU运行情况

top -n 20 -d 5 -b |grep -E "Command执行命令的代码" |tr -s " "| cut -d " " -f 10,11 > 01.txt
-n 20 表示次数设置为20次
-d 5 表示时间间隔为5秒
|grep -E "Command执行命令的代码"  表示输出线程Command执行命令的代码的信息;
      //可以通过top命令查看Command执行命令的代码
|tr -s " " 则表示利用一个空格来替代字段中出现的多个空格;
cut -d " " -f 10,11 表示将表格中第10和11列的数据提取出来;即为%CPU和%MEM数据
> test.txt 表示把数据写入到名为 test 的文本文件中;

2. 使用top命令查看算法的Command执行命令的代码

centos ubuntu 那个占资源少 ubuntu占用内存_进程优先级_03


得到Command执行命令的代码:rovio_node

3. 运行VIO算法占用内存和CPU数据命令

top -n 20 -d 3 -b |grep -E "Command执行命令的代码" |tr -s " "| cut -d " " -f 10,11 > 01.txt

centos ubuntu 那个占资源少 ubuntu占用内存_自动驾驶_04

4. 求取平均值

可用如下方法:

cat 01.txt|awk '{sum+=$1} END {print "Average = ", sum/NR}'

01.txt----表示要计算数据的文件
$1----表示第一列

5. 得到真实值

由于运行算法的虚拟机为4核top查看的是四个核数直接相加的结果,所以真实的cpu占有率应该是要除以400(四核处理器)。(但是我发现论文中的数据并不是以百分制标准,所以这里也可不用转化为百分制。)

echo "scale=3;(92.87/400)" | bc