jiffies 和 IPS 之间有什么关系?如何将 jiffies 转换为 IPS?

jiffies 和 IPS 之间有什么关系?如何将 jiffies 转换为 IPS?

可以对读取到的/proc/PID/stat大量信息进行处理。我想看看这个进程使用了​​多少百分比的 CPU 功率。这里有很多变量(utime、stime、cuttime、cstime、gtime、cgtime),但它们都在 jiffies 中。 jiffy 的问题取决于当前 CPU 的速度。然而,IPS(每秒指令数)取决于指令集以及我们运行哪个程序,但这也许更准确。

我想在嵌入式系统中使用这些信息,这样我就可以选择一个恰好满足这些功能的 CPU。这样我就不必花很多钱购买一个超大的系统。

以下是 stat 文件的内容(截至 2.6.30-rc7):

字段内容
  pid 进程号
  可执行文件的 tcomm 文件名
  state 状态(R 正在运行,S 正在休眠,D 正在休眠)
                不间断等待,Z 是僵尸,T 被跟踪或停止)
  父进程的 ppid 进程 ID
  pgrp 进程的 pgrp
  sid 会话 ID
  tty_nr 进程使用的 tty
  tty_pgrp tty 的 pgrp
  标志 任务标志
  min_flt 小故障数
  cmin_flt 孩子的小错误数量
  maj_flt 主要故障数量
  cmaj_flt 孩子的主要故障数量
  utime 用户模式 ​​jiffies
  stime 内核模式 jiffies
  可爱的用户模式 ​​jiffies 与孩子的
  cstime 内核模式 jiffies 与子进程
  优先级 优先级
  不错不错的水平
  num_threads 线程数
  it_real_value(已过时,始终为 0)
  start_time 系统启动后进程启动的时间
  vsize 虚拟内存大小
  rss驻留集内存大小
  rsslim RSS 的当前限制(以字节为单位)
  start_code 地址之上的程序文本可以运行
  end_code 程序文本可以运行的地址
  start_stack 堆栈的起始地址
  esp ESP 的当前值
  eip EIP当前值
  待处理信号的待处理位图
  阻塞信号的阻塞位图
  被忽略信号的符号位图
  sigcatch 捕获信号的位图
  进程休眠的 wchan 地址
  0(占位符)
  0(占位符)
  exit_signal 退出时发送给父线程的信号
  task_cpu 任务调度在哪个CPU上
  rt_priority 实时优先级
  策略调度策略(man sched_setscheduler)
  blkio_ticks 等待块IO所花费的时间
  gtime 任务的来宾时间(以 jiffies 为单位)
  jiffies 中任务子级的 cgtime 来宾时间

答案1

jiffy 不直接取决于 CPU 速度。它是一个时间段,用于对内核中不同的时间间隔进行计数。 jiffy 的长度是在内核编译时选择的。有关此的更多信息:男人7次

jiffies 的基本用途之一是进程调度。一瞬间是调度程序允许进程运行的一段时间,而不会尝试重新调度和交换该进程以让另一个进程运行。

对于速度较慢的处理器,每秒 100 jiffies 就可以了。但现代处理器的内核通常配置为每秒更多的 jiffies。

相关内容