8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

在看libvirt如何获取虚拟机的cpu占用率这个问题。计算cpu占用率不可避免的需要直到jiffies的概念。

jiffies是内核中的一个全局变量,用来记录自系统启动一来产生的节拍数。简单描述,就是1s内,内核发起的时钟中断次数。kernel中就使用这个来对程序的运行时间进行统计。这个值实在编译内核时进行设置的。一般有100,250,1000。CONFIG_HZ这个参数就是用来设置1s中的中断次数的。

查看 /proc/stat 可以看到kernel对cpu使用的各项时间进行的统计。cat /proc/statcpu 1776 10 9610 35061503 4272 0 122 0 0 0cpu0 359 0 1820 8767364 1812 0 40 0 0 0cpu1 398 0 1578 8764789 688 0 18 0 0 0cpu2 593 3 1646 8768085 1076 0 8 0 0 0cpu3 425 6 4564 8761263 694 0 56 0 0 0

cpu的使用率一般包含

user ( 1776 ) 从系统启动开始累计到当前时刻,处于用户态的运行时间,不包含 nice值为负进程。

nice (10) 从系统启动开始累计到当前时刻,nice值为负的进程所占用的CPU时间

system (35061503) 从系统启动开始累计到当前时刻,处于核心态的运行时间

idle (4272) 从系统启动开始累计到当前时刻,除IO等待时间以外的其它等待时间

iowait (0) 从系统启动开始累计到当前时刻,IO等待时间

irq (122) 从系统启动开始累计到当前时刻,硬中断时间

softirq (0) 从系统启动开始累计到当前时刻,软中断时间

stealstolen(0) which is the time spent in other operating systems when running in a virtualized environment

guest(0) which is the time spent running a virtual CPU for guest operating systems under the control of the Linux kernel

那么如果采样时间为1s中,那么上面所有项加起来应该就是一个固定值。即CONFIG_HZ的值。

计算cpu的使用率,一般使用1 - idle/(user+nice+system+idle+iowait+irq+softirq+stealstolen+guest)

那么对于一个进程实际使用给的cpu时间怎么查看呢?

在/proc/pid/stat 中显示如下29341 (nova-compute) S 1 29341 29341 0 -1 4219136 3167457 1467516 0 0 8211 2001 768 804 20 0 22 0 9453342 2382286848 26918 18446744073709551615 4194304 7057652 140733366069296 140733366045760 139709566769683 0 0 16781312 16899 18446744073709551615 0 0 17 6 0 0 0 0 0 9158080 9634804 38973440 140733366070976 140733366071090 140733366071090 140733366071266 0

这里也记录了程序使用的时间片。

要看懂这些信息可以使用man proc 进行查看。这里只说下和cpu占用率有关的参数。

第14个和第15个 分别代表了程序在用户态使用的时间,和内核态使用的时间。utime %lu (14) Amount of timethat this process has been scheduled inuser mode, measured inclock ticks (divide by sysconf(_SC_CLK_TCK)). This includes guest time, guest_time (timespent running a virtual CPU, see below), so that applications that are not aware of the guest timefield donot lose that timefrom their calculations.stime %lu (15) Amount of timethat this process has been scheduled inkernel mode, measured inclock ticks (divide by sysconf(_SC_CLK_TCK)).

但是这里却和刚才的jiffies不同,jiffies的次数是用来给kernel进行时间内记录的。

然而在用户态的程序中,使用的却是sysconf(_SC_CLK_TCK)来记录1s中中断的次数。

这个值可以通过如下命令查看。getconf CLK_TCK

因此计算程序的cpu占用率,可以用如下方式*cpuTime = 1000ull * 1000ull * 1000ull * (usertime + systime) / (unsigned long long)sysconf(_SC_CLK_TCK);

而这正式libvirt用来统计qemu的cpu占用率所用的公式。

linux查询jiffies命令,linux的jiffies相关推荐

  1. linux 查询wwid命令,Linux磁盘及分区之wwid和uuid

    背景描述,在Linux系统中,如果添加了新的SCSI磁盘或者映射SAN存储LUN操作,重启操作系统之后会出现磁盘标识符(sd*)错乱的情况. 例如之前添加的SAN存储LUN的磁盘标识符为/dev/sd ...

  2. linux 查询wwid命令,linux肿么查看硬盘的wwid

    第一种方法:使用df命令,这个命令比较常用,大家都很熟悉.问题是这种方法,有时候挂载点和挂载的卷不在同一行,使用脚本分析需要一点技巧的.例如: orientalson:/home # df Files ...

  3. linux命令查询端口号,linux查询端口号(linux查看端口的命令)

    linux查询端口号(linux查看端口的命令) 2020-07-24 11:55:46 共10个回答 1.打开任务管理器(在桌面最下面的"任务栏"右击鼠标).2.在任务管理器界面 ...

  4. linux新建自定义命令,Linux 创建自定义命令

    Linux 创建自定义命令 Linux 可以创建自定义使用命令 这里我们采取使用"alias"命令.这里我们首先了解两个文件,通过这两个文件我们可以根据环境配置相应的自定义命令. ...

  5. linux shell 未找到命令,未找到linux问题setenv命令(linux issue setenv command not found)

    未找到linux问题setenv命令(linux issue setenv command not found) 我在Linux中开发了一个Tcl / Tk脚本工具. 为了运行该工具,每次需要在she ...

  6. linux查询jiffies命令,linux HZ Tick Jiffies

    HZ的不同值会影响timer (节拍)中断的频率 2.2 jiffies及其溢出 全局变量jiffies取值为自操作系统启动以来的时钟滴答的数目,在头文 件中定义,数据类型为unsigned long ...

  7. linux查询jiffies命令,Linux全局变量jiffies的用法

    jiffies是Linux系统中的全局变量,与时间有关,那么jiffies变量具体有哪些作用呢?下面小编就给大家介绍下Linux全局变量jiffies的用法,感兴趣的朋友不妨来了解下吧. 系统运行时间 ...

  8. Linux || 查询类命令

    查找类的命令:     which和whereis 只能查找Linux里的命令,精确查找,到PATH变量的路径查找 locate:可以查找命令和普通文件或文件夹,模糊查找,到自己的数据库里查找(整个/ ...

  9. linux 安装删除命令,Linux如何使用命令行卸载安装包

    导读 严格地说,Linux是内核.Linux发行版由Linux内核.安装脚本.shell.编译器.桌面和其他组件组成.因此,卸载包或软件的Linux命令取决于Linux发行版的名称和类型.本文说明如何 ...

最新文章

  1. 2014年个人工作总结
  2. buffersize越大越好吗_手机运行内存真的越大越好吗?看完长知识了
  3. Idea使用技巧总结(未完待续)
  4. processing pushMartix
  5. 排查访问Linux Server速度较慢的问题
  6. 【2018.5.19】模拟赛之四-ssl2435 航空公司【并查集,二分】
  7. jquery csv2table 插件
  8. 京东到家发布618消费预测报告:原来这个时间点大多人在摸鱼?
  9. 对于GetMemory()函数
  10. 95-190-454-源码-window-Trigger-Flink 自定义trigger
  11. JavaScript核心语法——变量与常量
  12. android 6.0 创建文件或文件夹失败
  13. 《下学梯航》(全文)
  14. android 服务自动运行怎么办,Android服务开机自动运行
  15. 计算机仿真电路实验感想,单相桥式全控整流电路实验心得体会
  16. jquery when Deferred
  17. vue base64导出(pdfexcel ) 打印(pdf)
  18. 【Python入门指北】 Python计算机二级知识点
  19. 如何用数学课件制作工具画角平分线
  20. 计算机常用的数制,计算机中常用的数制.ppt

热门文章

  1. 用python庆祝生日_古天乐50大寿,郑秀文杜琪峰设宴庆祝,网友重提30年前那件事...
  2. 用git上传项目到GitHub过程记录
  3. 电阻,电容,电感这些知识你会了吗
  4. 【C#】关于右下角托盘图标以及气泡使用的注意事项
  5. 苹果推送证书在钥匙串的系统下的解决方案
  6. CF716B Complete the Word
  7. 【电子技术】眼图的基本概念和原理(1)
  8. 论文解读:《开发和验证深度学习系统对黄斑裂孔的病因进行分类并预测解剖结果》
  9. 开发小程序如何使用iconfont彩色图标
  10. textarea标签实现change事件保存