8种机械键盘轴体对比

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

CPU利用率

/proc/stat文档里包含系统cpu使用情况,2-8列对应的CPU消耗含义是用户态消耗(user)、用户态nice消耗(nice)、内 核态消耗(sys)、空闲时间(idle)、等待IO消耗(iowait)、硬件中断消耗(hardirq)、软中断消耗(softirq)。(man proc)1

2

3

4

5

6$ cat /proc/stat

cpu 2339504870 2641995 716723851 70316975284 7219566 328971 304057999 0 0

cpu0 211214357 275710 57674236 2778331292 3688175 10421 12279511 0 0

cpu1 140100049 278788 47142039 2857686940 180452 32028 14960093 0 0

...

要计算t1~t2时间内系统的cpu利用率,需要在t1、t2时刻分别采集cpu使用信息

1

2

3

4

5

6t1_all = t1(user + nice + sys + idle + iowait + hardirq + sortirq)

t1_used = t1(user + nice + sys + iowait + hardirq + sortirq)

t2_all = t2(user + nice + sys + idle + iowait + hardirq + sortirq

t2_used = t2(user + nice + sys + iowait + hardirq + sortirq)

cpu_usage = (t2_used - t1_used) / (t2_all - t1_all)

进程CPU利用率

/proc/$pid/stat文档里包含某个进程的cpu使用信息,14、15、16、17列对应进程用户态消耗(user)、内核态消耗(sys)、用户态等待子进程的消耗(user_child)、内核态等待子进程的消耗(sys_child)。1

2

3$cat /proc/24076/stat

24076 (redis-server) S 1 24076 24076 0 -1 4202560 5755 147 0 0 1864 3298 0 0 20 0 3 0 70238536 159555584 5145 18446744073709551615 1 1 0 0 0 0 0 4097 17610 18446744073709551615 0 0 17 4 0 0 0 0 0

t1、t2时刻分别采集/proc/stat、/proc/$pid/stat,获取总的cpu消耗,以及进程的cpu消耗

1

2

3

4

5

6t1_all = t1(user + nice + sys + idle + iowait + hardirq + sortirq)

t1_pid = t1(user + sys + user_child + sys_child)

t2_all = t2(user + nice + sys + idle + iowait + hardirq + sortirq)

t2_pid = t2(user + sys + user_child + sys_child)

pid_cpu_usage = (t2_pid - t1_pid) / (t2_all - t1_all)

内存利用率

/proc/meminfo文档里包含系统内存使用信息1

2

3

4

5$ cat /proc/meminfo

MemTotal: 198450624 kB

MemFree: 184950332 kB

mem_usage = 1 - MemFree / MemTotal

系统load

/proc/uptime的前3列包含了最近1min、5min、15min系统的平均load(正在运行或等待IO的进程数,进程state为R或D)1

2$cat /proc/loadavg

0.02 0.09 0.08 1/2362 855

网卡流量信息

/proc/net/dev包含所有网卡的流量信息,第1、2、10、11列分别代表网卡当前接受字节数(recv_bytes)、接受包个数(recv_packets)、发送字节数(send_bytes)、发送个数(send_packets)。1

2

3

4

5

6$cat /proc/net/dev

Inter-| Receive |Transmit

face |bytespackets errsdrop fifoframe compressedmulticast|bytes packets errsdrop fifocolls carrier compressed

lo:25047448261 37947893 0 0 0 0 0 0 25047448261 37947893 0 0 0 0 0 0

eth0:2566932970457 7620547348 0 0 2 0 0 62732 728662220296 6145797287 0 0 0 0 0 0

eth1:2023304550582 7268848253 0 0 0 0 0 77924 742443231982 6129090809 0 0 0 0 0 0

t1~t2时间内的平均流量为

1

2avg_recv_bytes = (t2_recv_bytes - t1_recv_bytes) / (t2 - t1)

avg_send_bytes = (t2_send_bytes - t1_send_bytes) / (t2 - t1)

磁盘(文档系统)空间信息

通过statfs系统调用可获取当前文档系统的空间占用情况1

2

3

4

5

6

7

8

9

10struct statfs {

long f_type;

long f_bsize;

long f_blocks; /* total data blocks in file system */

long f_bfree; /* free blocks in fs */

long f_bavail; /* free blocks avail to non-superuser */

...

};

disk_usage = 1 - f_bfree / f_blocks

磁盘读写信息

/proc/diskstats包含磁盘的IO信息,第4-9列分别为当前磁盘读次数(read),磁盘读扇区数(read_sec)、磁盘读毫秒数(read_ms)、磁盘写次数(write)、磁盘写扇区数(write_sec)、磁盘写毫秒数(write_ms)。1

2

3

4

5$cat /proc/diskstats

8 4 sda4 3 0 12 8 0 0 0 0 0 8 8

8 5 sda5 87928 55284 2842138 17349 1230958 7932106 73380432 4931382 0 503343 4947504

8 16 sdb 393 35 3418 37 17 2 152 0 0 37 37

8 32 sdc 788 114 10690 10132 14550036 226568635 1929026928 623148463 0 4917530 623154797

t1~t2时间内磁盘平均读写次数、扇区数、IO利用率计算如下

1

2

3

4

5avg_read = (t2_read - t1_read) / (t2 - t1)

avg_read_sec = (t2_read_sec - t1_read_sec) / (t2 - t1)

avg_write = (t2_write - t1_write) / (t2 - t1)

avg_write_sec = (t2_write_sec - t1_write_sec) / (t2 - t1)

io_util = (t2_read_ms + t2_write_ms - t1_read_ms - t1_write_ms) / (t2 - t1) (t1~t2时间段内IO

linux获取性能指数,Linux环境获取系统性能数据相关推荐

  1. linux pti性能影响,Linux修正内核:Intel打补丁性能狂降、AMD不受影响

    Linux修正内核:Intel打补丁性能狂降.AMD不受影响 由于Meltdown和Spectre两个严重内核级漏洞造成的安全事件愈演愈烈,其中不可否认的是,搭载Intel处理器的Linux服务器.数 ...

  2. linux服务器性能阈值,linux – 如何根据可用内核的数量选择最大负载阈值?

    负载在Linux上经常被误解. 在Linux上,它是运行或不间断睡眠状态中所有任务的度量. 请注意,这是任务,而不是进程.线程包含在此值中. 内核每五秒计算一次加载,并且是一个加权平均值.这是微小负载 ...

  3. SAS linux windows 性能,在Linux上提高SAS JBOD性能的多路径

    我正在尝试使用Linux在某些Sun硬件上优化存储设置.任何想法将不胜感激. 我们有以下硬件: 太阳之刃X6270 2个LSISAS1068E SAS控制器 2个带1 TB磁盘的Sun J4400 J ...

  4. 查看linux机器性能,Unix Linux 查看机器性能

    1.显示cpu数量: hp-unix:ioscan -C processor | grep processor | wc -l Solais:psrinfo -v | grep "Statu ...

  5. 【Linux】性能优化-linux命令nicstat 网络性能监控

    文章目录 1.概述 1.概述 Unix 里一个受欢迎的命令行工具就是 nicstat,它可以显示每个网络接口的流量概要,包括网络接口的使用度: % nicstat 5 Time Int rKB/s w ...

  6. linux性能诊断,linux下跟性能相关的命令以及系统性能诊断

    linux下和性能相关的命令以及系统性能诊断 4.网络性能识别与分析 可以通过命令netstat,iptraf命令来识别 可以通过ifconfig,netstat连接网络基本情况 ifconfig   ...

  7. php 获取服务器进程数,PHP 获取linux服务器性能CPU、内存、硬盘、进程等使用率...

    数据库配置文件: conn.php define("MONITORED_IP", "172.16.0.191"); //被监控的服务器IP地址 也就是本机地址 ...

  8. Linux子进程获取终端,Linux| Linux中获取运行进程的 环境变量, 参数, 端口_YvesHe的专栏...

    一.查看 环境变量, 参数 1.ps命令的方式获取信息: 执行目录, 环境变量, 完整的命令行 ps eww -p : 返回某个进程的执行时的环境变量和完整的命令行 参数说明 e 显示环境以及传递给命 ...

  9. Linux 如何取进程运行时间,linux -- 获取进程执行时间

    获取进程执行时间 一.时间概念 在linux下进行编程时,可能会涉及度量进程的执行时间.linux下进程的时间值分三种: 时钟时间(real time):指进程从开始执行到结束,实际执行的时间. 用户 ...

最新文章

  1. 走进人工智能,认识机器学习
  2. 什么地方容易刷出ak_男人会用什么理由拒绝表白?
  3. Special Permutation CodeForces - 1352G(构造)
  4. PowerDesigner从数据库导入
  5. 我真out了,高端人士都这样玩儿?
  6. 2018年12月份最热门的Java开源项目
  7. educoder实训答案python_Educoder Python入门之经典函数实例
  8. html 滤镜兼容,CSS3 中各种滤镜介绍和兼容性说明 - 文章教程
  9. 进行 HTML、JavaScript 和 Ajax 开发和调试的必用工具
  10. matlab2014b linux,matlab 2014b linux 肿么安装
  11. 这届打工人,回家过年都这么难
  12. [复现论文程序图]High Speed Continuous Variable Source-Independent Quantum Random Number Generation...
  13. 关于A 星算法的研究与简单分析及其实现-A star
  14. 计算签到记录的次数统计
  15. 35岁仍然落魄,有这3个苗头将大器晚成,你要刮目相看,主动结交
  16. pytho wordcloud安装
  17. 中国不承认国际驾驶证
  18. PPG_Projector第一种方法:FindA
  19. 系统测试分析系统测试设计
  20. Docker入门之安装Docker

热门文章

  1. 图数据的攻与防:智谱AI和biendata联合组织KDD Cup 2020
  2. TIP 2019开源论文:基于深度学习的HEVC多帧环路滤波方法
  3. 5.3 使用tensorflow搭建GoogLeNet网络 笔记
  4. Java与ElasticSerach的整合
  5. classpath和读取resources目录下的文件
  6. jquery获取select选中的文本的值
  7. Thymeleaf——使用模板动态生成JavaScript脚本文件
  8. CHM文件显示目录无法显示内容的解决方案
  9. Integer Sequence Dividing
  10. Sleepy Kaguya