00:00
好,那下边的话呢,我们来说一下这个大文件,这个大文件呢,我们在讲到这个第二章的时候呢,是不是也专门说过是吧,就我们使用这个解map这个命令呢,我们可以呢,呃,是不是去生成我们这个对转储文件,然后呢,使用这个解H呢,进行一个分析对吧?呃,是我们这个第二章当中提到的,那么这个大文件呢,我们说是咱们重要的去监控这个程序性能,包括出现OM的一个重要的一个111个一个一个数据,对吧?那这里边的话呢,大家来看一看,我们针对于咱们当前这个OM这个test这个程序。哎,那我如何去生成这个大文件呢?啊,这里边儿呢,有几种不同的方式啊,啊其实这个最终呢是一样的,一方面呢,大家可以在我们这个进程这块呢,点右键啊,它这块你看有一个叫对up啊,我们点击一下就可以了。啊,这呢,是不是相较于我们上一个呢,讲的一个解map,然后还得写那么长的一个参数,是不是这个要简单很多是吧?好这呢就是我们生成一个大文件的一个方式啊,然后另外的话呢,大家还可以在这个监视这个位置。
01:01
监视这个位置呢,你看这个位置是不是也有个叫对呀,哎,我们点击一下。好点击来以后呢,大家你会看到是不是又会生成一个这个大MP文件是吧?诶这呢,就相当于我们这有两个大文件,但是这两个大文件呢,它只是相当于一个快照的一个这个截图啊,就是或者说临时呢,先给你显示了一下一个快照,相当于那这两个文件呢,如果大家想进行保存的话呢,诶这时候你记得点右键啊,我们可以来一个叫另存为。啊,比如说我们把它呢,就临时的先放到我这个桌面上了,那这个名字呢,比如说我就用它了,好我点一个保存。哎,然后针对这个第二个呢,你也可以点右键,诶引来一个另存为啊放到桌面上,好,我们还可以呢,进行一个保存啊,这就可以了,那这时候呢,我们在这个桌面上,哎,大家呢,就能够看到我们这两个这个大文件了。啊,这两个大文件,OK,这就相当于我们把这两个这个堆转储的这个快照呢,进行了一个存储。好,这是我们说的这个情况啊,嗯,那么这里边儿呢,大家也可以把它,比如我这块我就删除了啊,这个我就删除了,相当于呢,我们这个当前这个快照呢,就没有了是吧?但是我们桌面上的话呢,是不是还有啊啊,因为我们进行了一个存储啊,那刚才呢,相当于我们给大家演示的就是我们如何去生成。
02:12
哎,如何呢,去生成这个堆内存的这个快照,那么下边的话呢,我们这个啊V收VM呢,它还可以去读取这个呃快照文件啊,比如说在这个实际的生产环境当中,我们这个运维的人员呢,他就从这个远程服务器上通过这个解map呢,帮你去生成这个大文件了,然后传给你之后呢,我们就可以考虑呢,使用这个微收VM呢,去进行一个读取,那读取的话呢,这样做大家选择这个文件呢,就要装入。啊装入装入过来以后呢,默认的时候这块呢,你看叫apps是吧,这个大家需要给它调取到这个对这个位置啊,然后的话呢,你就能看到这两个文件了,那这两个文件呢,比如我们选第一个啊选一个打开。啊,这呢就能够看到这个信息是吧?哎,那你也可以呢,是不是再接着去选另外一个打开俩啊都是可以的是吧?好,那么我们看这个大文件里边显示这个信息都有哪些呢?那这个概要信息啊,生成的这个日期都有啊,文件在哪,大小多少啊,300多兆是吧?诶所以呢,我们说生成这个大文件的话呢,是不是轻轻松松就奔着几百兆去了呀。
03:14
然后这呢,是关于我们这个实例的数据啊,根节点的这个,呃,垃圾的回收的这个根节点啊,这么多个操作系统啊,系统这个信息啊,显示这个线程啊,这都有是吧。啊,这个咱们在刚才呢,去看那个基本关于这个OM的时候呢,其实在这块是不是也都看到过这个情况是吧?啊这是我们说的这个事儿啊,然后再下边呢,就关于我们这个程序当中。这个你有可能会出现OM,或者你监控的时候呢,它这个数据呢,已经这个forc呢比较多了,哎,你要看一下我们这个当前程序当中这个类啊,相关的这个类的实例有多少个占用的这个空间啊,是这个大小的情况,这个呢,在咱们前面讲的时候呢,是不是也呃有相关的工具能够做这个事儿啊。对吧,哎,回忆一下我们讲这个谁的时候可以做这个事啊,哎,我们现在呢,是不是想调呃想调一下看它这个呃实例创建的个数是吧,包括内存占用的大小,用解map呢叫黑al啊就可以看啊这个杠hi呢是看这一个堆空间的它的一个各个呃这个具体的细分的一个占比情况了哈,哎,这个杠黑EL那就能够看到这样的一个数据,咱们在前面讲的时候呢,这个也都说过了啊。
04:22
嗯,然后呢,这就是具体的这个实例数啊,其实实例数呢,在这块有所呈现哈,啊,这是我们一双击呢,就能看到具体的这些实例了,然后呢,这个OKL呢,咱们在前边讲这个解he的时候呢,也提到过。啊,解亥的时候我们提到过,在这个呃浏览器端啊,7000那个端口号呢,我们可以去编写这个OKR这个语句对吧?啊那这里呢,我们也可以针对咱们刚才看到这么多这个实例呢去编写,比如说啊,我们想查看一下咱们这个哎过度分配的一个字符串啊这个执行一下,看看都有哪些呢?啊他做个执行来帮我们做一个分析啊说有这样的一些啊,说浪费了多少多少这个呃字节是吧?哎这个呢,你可以具体的再进行分析就可以了啊这块呢,我就先不过多的来说这个事儿啊那还有一个点是什么呢?当然比如说我们这块呢,你看打开这个类这。
05:09
刚才的话呢,咱们是不是导出了两个大MP文件是吧?哎,这两个大MP文件好,我这块呢,打开的是其中的前一个啊,零四秒的这个我们还可以拿它呢,跟咱们的另一个对转属文件呢进行比较,那现在呢,显示出来的是你当前这个文件中相关结构的一个实例数,我们点击一下它。然后呢,你看这时候从当前位置,哎,我们就把另外一个文件是不是给他找到了,哎,就是当前你在桌面上的这个位置啊,然后我们点一个确定。好点一个确定好这呢就罗列出来了,我们相较于啊,这个是显示的这个前一个啊,相较于我们后边这个呢,它少多少个。啊,这个我们往前往前走,下边是少多少个。啊,这个我们按照这个实例数这样点一下啊,少多少个是吧?哎,因为我们这个先点的是少的,后点的多的,相交于后一个少多少个啊,少这么多个啊这样的情况啊呃,那具体的话呢,你可以再点击一下啊,这是BAT,我们换一个,比如说这个看string。
06:09
啊,关于死顿这个情况啊,少20个啊,啊这个点击一下,那么对应的这里边呢,所有的这个实例的一个情况啊,点击这个数据是什么啊,你看这个值是什么,那这我们这都有显示是吧?具体的关于这个对象的详细的这个数据信息,哎,都有展示。那我们这里边,哎想要给大家提的就是你可以进行多个这个呃大文件的一个比较啊,一个比较,比如这呢,你可以调一个旧的,然后诶去这个获取一个,呃先获取一个比如005的啊,然后你再去跟另外一个比较的时候,你选那个零四的这块就是加多少个了啊,那你也可以看加的具体的都是哪些是吧?好这呢,就是关于我们说这个,呃,这个堆的一个大MP文件的一个生成,包括呢,我们查看,包括呢数据的一个展示,哎通过这里边我们也能够看到到底哪些数据呢?哎,相当于这个比较多。啊,便于呢,我们去分析啊,这个程序到底哪块写的是有问题的是吧?好这呢是关于这个堆大文件的一个说明。
我来说两句