1.linux查看cpu占用率的占比方法:
2.代码覆盖率在性能优化上的一种可行应用
linux查看cpu占用率的方法:
top
top是最常用的查看系统资源使用情况的工具,包括CPU、源码内存等等资源。线占这里主要关注CPU资源。比计
1.1 /proc/loadavg
load average取自/proc/loadavg。占比
9. 9. 8. 3/
前三个数字是源码谭聊后端源码1、5、线占分钟内进程队列中平均进程数,比计包括正在运行的占比进程+准备好等待运行的进程。
第四个数字分子表示正在运行的源码进程数,分母是线占进程总数。
最后一个数字是比计最近运行的进程ID号。
其中top取的占比是/proc/loadavg的前三个数。
1.2 top使用
打开top,源码可以指定更新的线占周期。
输入H,打开隐藏的线程;输入1,可以显示单核CPU使用情况。搜虎源码社区
top -H -b -d 1 -n > top.txt,每个1秒统计一次,共次,显示线程细节,并保存到top.txt中。
top采样来源你还依赖于/proc/stat和/proc//stat两个,这两个的详细介绍参考:/proc/stat和/proc//stat。
其中CPU信息对应的含义如下:
us是user的意思,统计nice小于等于0的用户空间进程,也即优先级为~。 ni是nice的意思,统计nice大于0的用户空间进程,也即优先级为~。 sys是system的意思,统计内核态运行时间,不包括中断。 id是java jquery web源码idle的意思,几系统处于空闲态。 wa是iowait的意思,统计io等待时间。 hi是hardware interrupt,统计硬件中断时间。 si是software interrupt,统计软中断时间。 最后的st是steal的意思。
perf
通过sudo perf top -s comm,可以查看当前系统运行进程占比。
这里不像top一样区分idle、system、user,这里的占比是各个进程在总运行时间里面占比。
通过sudo perf record记录采样信息,然后通过sudo perf report -s comm。
sar、layui案例源码下载ksar
sar是System Activity Report的意思,可以用于实时观察当前系统活动,也可以生成历史记录的报告。
要使用sar需要安装sudo apt install sysstat,然后对sysstat进行配置。
sar用于记录统计信息,ksar用于将记录的信息图形化输出。
ksar下载地址在: github.com/vlsi/ksar/re...
sudo gedit /etc/default/sysstat--------------------------------将 ENABLED=“false“ 改为ENABLED=“true“。 sudo gedit /etc/cron.d/sysstat--------------------------------修改sar的周期等配置。 sudo /etc/init.d/sysstat restart--------------------------------重启sar服务 /var/log/sysstat/--------------------------------------------------sar log存放目录
使用sar记录开机到目前的统计信息到文件sar.txt。
LC_ALL=C sar -A > sar.txt
PS:这里直接使用sar -A,在ksar中无法正常显示。
如下执行java -jar ksar.jar,然后Data->Load from text file...选择保存的sar.txt文件。
得到如下的图表。
还可以通过sar记录一段时间的信息,指定采样周期和采样次数。c 通讯源码下载
这些命令前加上LC_ALL=C之后保存到文件中,都可以在ksar中图形化显示。
collectl、colplot
collectl是一款非常优秀并且有着丰富的命令行功能的实用程序,你可以用它来采集描述当前系统状态的性能数据。
不同于大多数其它的系统监控工具,collectl 并非仅局限于有限的系统度量,相反,它可以收集许多不同类型系统资源的相关信息,如 cpu 、disk、memory 、network 、sockets 、 tcp 、inodes 、infiniband 、 lustre 、memory、nfs、processes、quadrics、slabs和buddyinfo等。
同时collectl还可以替代常用工具,比如top、vmstat、ps、iotop等。
安装collectl:
sudo apt-get install collectl
collectl的使用很简单,默认collectl显示cpu、磁盘、网络信息。
collectl还可以显示更多的子系统信息,如果选项存在对应的大写选项,大写选项表示更细节的设备统计信息。
b – buddy info (内存碎片) c – 所有CPU的合一统计信息;C - 单个CPU的统计信息。 d – 整个文件系统Disk合一统计信息;C - 单个磁盘的统计信息。 f – NFS V3 Data i – Inode and File System j – 显示每个CPU的Interrupts触发情况;J - 显示每个中断详细触发情况。 l – Lustre m – 显示整个系统Memory使用情况;M - 按node显示内存使用情况。 n – 显示整个系统的Networks使用情况;N - 分网卡显示网络使用情况。 s – Sockets t – TCP x – Interconnect y – 对系统所有Slabs (系统对象缓存)使用统计信息;Y - 每个slab使用的详细信息。
collectl --all显示所有子系统的统计信息,包括cpu、终端、内存、磁盘、网络、TCP、socket、文件系统、NFS。
collectl --top可以代替top命令:
collectl --vmstat可以代替vmstat命令:
collectl -c1 -sZ -i:1可以代替ps命令。
collectl和一些处理分析数据工具(比如colmux、colgui、colplot)结合能提供可视化图形。
colplot是collectl工具集的一部分,其将collectl收集的数据在浏览器中图形化展示。
colplot的介绍 在此,相关源码可以再 collectl-utils下载。
解压下载的colplot之后,sudo ./INSTALL安装colplot。
安装之后重启apache服务:
suod systemctl reload apache2 sudo systemctl restart apache2
在浏览器中输入 .0.0.1/colplot/,即可使用colplot。
通过Change Dir选择存放经过collectl -P保存的数据,然后设置Plot细节、显示那些子系统、plot大小等等。
最后Generate Plot查看结果。
代码覆盖率在性能优化上的一种可行应用
在前端应用中,JavaScript作为关键语言,其代码体积直接影响网页加载速度。衡量代码执行覆盖率对于优化性能至关重要,因为它可以帮助我们识别和减少"无效的代码",如死代码和冗余代码。死代码是指在编译阶段确定不会执行的代码,可通过Tree Shaking等技术剔除。冗余代码则是指在特定业务场景下不会执行的代码,例如首屏加载时未激活的部分。
代码覆盖率,作为软件测试中的度量指标,是指测试过程中实际执行的源代码占全部源代码的比例。Chrome浏览器的开发者工具提供了名为Coverage的工具,可用来评估代码覆盖率。如果项目有source map,也可在浏览器中查看源代码覆盖率。通过提高代码覆盖率,我们能够有效地提升代码质量,降低资源消耗,从而提升网页性能。
欲了解更多关于代码覆盖率的测量方法和资源,可通过关注阿里技术公众号获取相关内容。所有内容版权归属原文作者,阿里云开发者社区尊重知识产权,如发现侵权,请通过侵权投诉表单进行举报。
2024-12-28 23:10
2024-12-28 22:34
2024-12-28 22:29
2024-12-28 22:16
2024-12-28 22:05
2024-12-28 21:45
2024-12-28 21:28
2024-12-28 21:24