背景:最近用mmdet的时候发现一个问题,在pipeline里进行一些随机操作(例如随机裁剪)的时候,设定一个随机种子randomseed,理论上每次随机操作的结果都不同,但是实际上发现会有2张图的操作结果是一样的。本来以为是batch_size的问题,就去修改了sampers_per_gpu。结果发现实际上是workers_per_gpu的问题。因此就来好好研究下这俩个参数的作用和意义。实际上科班的应该对进程比较熟悉,但是也考虑到有很多像我一样非科班的小白,可能对进程workers不是很理解,故此记录下,也欢迎大佬交流指正这俩个参数具体出现在configs文件里 sampers_per_gp
HTML5WebWorkerswebworker是运行在后台的JavaScript,不会影响页面的性能。什么是WebWorker?当在HTML页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。webworker是运行在后台的JavaScript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此时webworker在后台运行。浏览器支持InternetExplorer10,Firefox,Chrome,Safari和Opera都支持Webworkers.HTML5WebWorkers实例下面的例子创建了一个简单的webworker,在后台计数:实
HTML5WebWorkerswebworker是运行在后台的JavaScript,不会影响页面的性能。什么是WebWorker?当在HTML页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。webworker是运行在后台的JavaScript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此时webworker在后台运行。浏览器支持InternetExplorer10,Firefox,Chrome,Safari和Opera都支持Webworkers.HTML5WebWorkers实例下面的例子创建了一个简单的webworker,在后台计数:实
(最近有读者朋友表示,希望能加一些示意图来描述分析过程中用到的原理知识。好的,之后我会注意,谢谢这位读者)背景有位朋友找我,希望我能帮看一下他的一个service。从他的描述看,并没有资源方面的泄漏,程序目前也能正常工作。他是在用dotnet-countersmoniter时发现gc2、也就是fullgc触发的比较频繁,频率超过了他自己的预期,于是他心里不踏实,所以想找我看一下。能在没发生资源或性能异常前自觉monitor.netmetrics的人,我跟佩服,这是讲究人儿啊。那后面我就管这位朋友叫"精致大哥"了哈分析其实对于这次没有明确内存泄漏迹象的问题,我没啥把握能给出明确问题点,甚至可能就
(最近有读者朋友表示,希望能加一些示意图来描述分析过程中用到的原理知识。好的,之后我会注意,谢谢这位读者)背景有位朋友找我,希望我能帮看一下他的一个service。从他的描述看,并没有资源方面的泄漏,程序目前也能正常工作。他是在用dotnet-countersmoniter时发现gc2、也就是fullgc触发的比较频繁,频率超过了他自己的预期,于是他心里不踏实,所以想找我看一下。能在没发生资源或性能异常前自觉monitor.netmetrics的人,我跟佩服,这是讲究人儿啊。那后面我就管这位朋友叫"精致大哥"了哈分析其实对于这次没有明确内存泄漏迹象的问题,我没啥把握能给出明确问题点,甚至可能就
Bufferpool我们都知道我们读取页面是需要将其从磁盘中读到内存中,然后等待CPU对数据进行处理。我们直到从磁盘中读取数据到内存的过程是十分慢的,所以我们读取的页面需要将其缓存起来,所以MySQL有这个bufferpool对页面进行缓存。首先MySQL在启动时会向操作系统申请一段连续的内存空间,这一段空间就是作为bufferpool所用。将缓存的页放入bufferpool中管理起来。mysql>showvariableslike'innodb_buffer_pool_size';+-------------------------+-----------+|Variable_name|Va
Bufferpool我们都知道我们读取页面是需要将其从磁盘中读到内存中,然后等待CPU对数据进行处理。我们直到从磁盘中读取数据到内存的过程是十分慢的,所以我们读取的页面需要将其缓存起来,所以MySQL有这个bufferpool对页面进行缓存。首先MySQL在启动时会向操作系统申请一段连续的内存空间,这一段空间就是作为bufferpool所用。将缓存的页放入bufferpool中管理起来。mysql>showvariableslike'innodb_buffer_pool_size';+-------------------------+-----------+|Variable_name|Va
15445第一阶段笔记+BufferPool(2019)概念page与frame 块,页,是对同一概念的不同叫法,取决于场景不同。其表述的都是磁盘上某一柱面上的连续扇区(固定数目)。数据在磁盘和缓冲区(内存)之间传输,传输的单位就是块(页)。 内存区是以定长的页数组的形式组织的,其中每一个数组条目,被称为一个帧(frame)。当DBMS请求一个页时,被请求页的一份拷贝就被读取进其中一个帧中。 所以,page和frame实际是指的是同一个概念,bufferpool中的叫做帧,磁盘与内存之间的传输单位的叫做page或者block。pagetable 是一个PageID到FrameID的映射
15445第一阶段笔记+BufferPool(2019)概念page与frame 块,页,是对同一概念的不同叫法,取决于场景不同。其表述的都是磁盘上某一柱面上的连续扇区(固定数目)。数据在磁盘和缓冲区(内存)之间传输,传输的单位就是块(页)。 内存区是以定长的页数组的形式组织的,其中每一个数组条目,被称为一个帧(frame)。当DBMS请求一个页时,被请求页的一份拷贝就被读取进其中一个帧中。 所以,page和frame实际是指的是同一个概念,bufferpool中的叫做帧,磁盘与内存之间的传输单位的叫做page或者block。pagetable 是一个PageID到FrameID的映射
Nginx停止有两种方式,分别是nginx-squit和nginx-sstop,其中stop是指立即停止Nginx,而quit是指优雅的关闭Nginx,对应的信号也是同样的,还有我们之前提到的reload和热升级这样的过程中都涉及到了优雅的停止Nginx。那所谓的优雅的停止Nginx究竟是怎样一个过程呢?何为优雅的关闭?所谓的优雅的关闭,是针对worker进程而言的,因为只有worker进程才会处理请求。如果我们在处理一个连接的时候,不管连接此时对于请求是怎样一个作用,直接去关闭链接会导致用户收到错误,所以优雅地关闭就是指Nginx的worker进程可以识别出当前连接没有正在处理请求,这个时候