温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
行,那实际上呢,这个J呃,这个j pro呢,它这个功能呢,还是挺强大的哈,刚才呢,我们是说了一下这个进行这个jc root的一个溯源,那我们在开发当中,如果出现这个OM的这个程序,呃问题的话呢,咱们也可以使用这个j pro发来进行一个监控,看看呢是什么原因造成的是吧?诶这个咱们后边的话都会给大家讲啊,这里边呢,咱们既然说到这呢,简单给大家举个例子,我这呢写一个代码叫做hi OM,就是一个堆空间的一个溢出,这呢是一个一兆的空间,然后呢,我们造了一个list,然后不断的通过while处的一个方式呢,去往咱们这个list里边呢,去创建对象。啊,那个每个对象的话呢,我们说至少呢,它是有一兆的这个属性的,对吧,那肯定加着加着就加满了,哎,这里边咱们给当前这个堆空间呢,设置了叫八兆的这样一个大小来注意,尤其需要注意我后边呢多了一个参数,这呢大家也可以作为咱们说的这个常用参数之一啊hi dump on auto memory error,就当我们出现这个叫auto memory error的时候,就是OM的时候呢,我们会生成对空间的一个大文件。
01:01
哎,就这样一个描述好,然后把这个参数呢,我们整个CTRLCL一下啊,找到我们这个RA啊,这个edit,然后这块呢,咱们去添加一下,这里叫a hi OM OK,然后把我们的参数呢,CTRLV来粘在这对吧,好,我们这个做一个应用啊,OK一下。那当我们这个程序呢,出现OM的时候呢,咱们就会生成一个hip的大文件啊,我们此时呢,执行一下。诶,你看这时候就出现了对吧,次数呢,还不多六次,哎出现了一个叫OM,那一旦出现OM的时候呢,我们会生成一个叫诶hip的一个dump文件啊被创建了,诶创建在哪呢?创建到这儿了。那这个文件呢,就会创建在咱们当前这个啊modu呢所在的这个目录下,比如选中我们这个CAPTURE15是吧,然后这块有叫收银explorer,看一下我们这个文件目录。那这就有文件目录,然后在这块呢,你看生成我们这个当前的PID11856啊,就是咱们当前这个时间。看答应这个时间行,哎,这不跟我们这个呢,能匹配上。
02:03
这啊11856对吧,行,然后的话呢,大家直接呢,使用它呢进行双击啊,已经默认呢,使用咱们这个J呢进行打开的啊点击一下。OK啊就进来了,那进来以后呢,这块展示的是跟咱们刚才看到的那个有点像啊,呃,是一个各个嗯类型的对象的一个个数。啊,这个个数,然后我们点这个呢,叫biggest objects啊这块点击一下大家就能看到咱们当前程序呢,出现了OM了,那这个OM的话呢,什么原因造成呢,说是不是程序当中存在这个超大对象呢,诶一发现哇,还真是有一个,我们这个的话呢,你看它占整个内存的89%。啊,属于特别大了。哎,那它呢,就是我们所谓这个超大对象,哎,它呢就存在这个问题。是吧,还存在这个问题,那我们造的这个对象呢,呃,这个它的内部存储的数据呢,过多来造成的行,那这呢,我们就知道这个事儿,然后从我们这个县城这块呢,那这个线程这块大法,咱们还能看到哪块出问题了,这个内线程主线当中当中出问题了,那对应的代码呢,是在咱们这个代码当中的第20行还出现了这叫ROM。
03:10
那你看这个对应的20号。诶,就是我们这行代码出现的对吧?诶就是通过咱们这个叫j pro的话呢,大家也可以去查看一下,诶当前这个程序出现OM的一些原因,诶具体详情呢,咱们到后边讲到性能监控与调约的时候呢,再说这块大家先简单的做一个了解就可以了。OK,那这呢,就我们说到这儿啊。
我来说两句