软件测试最全性能测试中获取JVM资源信息_获取服务器jvm信息,2024年最新2024软件测试研发必问高级面试题

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

    long curtime = System.nanoTime()
    long usedTime = totalTime - lastUserTime
    long totalPassedTime = curtime - lastSysTime
    lastSysTime = curtime
    lastUserTime = totalTime
    def d = avg ? (((double) usedTime) / totalPassedTime / getAvailableProcessors()) * 100 : (((double) usedTime) / totalPassedTime) * 100
    return d > 100 ? 8.88 : d
}

这里我用了一个参数,用来区分是否返回平均使用率还是返回总使用率之和。因为在docker环境中com.funtester.utils.OSUtil#getAvailableProcessors返回值着实让我很迷惑,至今还没懂其中奥妙。


下面分享获取系统负载的方法:



/**

  • 获取系统一分钟内的平均load
  • @return
    */
    static def getLoad() {
    osMxBean.getSystemLoadAverage() / getAvailableProcessors()
    }

同样的问题也存在这个方法中,但目前使用比较少,就没有做修改。


### 获取GC信息



static List<GarbageCollectorMXBean> gcMxBeans = ManagementFactory.getGarbageCollectorMXBeans();

/**
 * 获取GC信息{@link com.funtester.utils.OSUtil.GCInfo}
 * @return
 */
static def getGCinfo() {
    def infos = []
    for (GarbageCollectorMXBean gcMxBean : gcMxBeans) {
        infos << new GCInfo(gcMxBean)
    }
    infos
}

/**
 * GC信息类
 */
static class GCInfo extends AbstractBean {

    String name

    int count

    int time

    GCInfo(String name, int count, int time) {
        this.name = name
        this.count = count
        this.time = time
    }

    GCInfo(GarbageCollectorMXBean gcMxBean) {
        this.name = gcMxBean.getName()
        this.count = gcMxBean.getCollectionCount()
        this.time = gcMxBean.getCollectionTime()
    }

}

这里只能算是个输出,很少用GC信息作为独立的依据。


### 其他


获取内存信息:



/**

  • 获取堆内存信息
  • @return
    */
    static def heapMemInfo() {
    memoryMXBean.getHeapMemoryUsage()
    }

/**

  • 获取非堆内存信息
  • @return
    */
    static def noHeapMemInfo() {
    memoryMXBean.getNonHeapMemoryUsage()
    }

### 使用场景


![img](https://img-blog.csdnimg.cn/img_convert/5ea628752bf68a1dfe247b2cabdf7424.png)
![img](https://img-blog.csdnimg.cn/img_convert/ff6771c1d498762c61affe0f88d44b5b.png)
![img](https://img-blog.csdnimg.cn/img_convert/36584bb245f37bc7b8a58fe155db440e.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值