首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Probe:Android线上OOM问题定位组件

本文主要分享美团的Probe组件是如何对线上OOM问题进行快速定位的。...于是我们构建了用于快速定位线上OOM问题的组件——Probe,下图是Probe组件架构,本文主要分享Probe组件是如何对线上OOM问题进行快速定位的。 ?...再通过Linux的mmap调用映射到用户态虚拟内存地址空间。 第一步创建匿名共享内存时,需要打开/dev/ashmem文件,所以需要一个FD(文件描述符)。...这是在Linux中分配大块内存的常用方式。其分配的是虚拟内存,对应页的物理内存并不会立即分配,而是在用到的时候触发内核的缺页中断,然后中断处理函数再分配物理内存。 调用clone方法进行线程创建。...在/proc/pid/limits描述着Linux系统对对应进程的限制,其中Max open files就代表可创建FD的最大数目。

1.2K20

Probe:Android线上OOM问题定位组件

本文主要分享美团的Probe组件是如何对线上OOM问题进行快速定位的。...于是我们构建了用于快速定位线上OOM问题的组件——Probe,下图是Probe组件架构,本文主要分享Probe组件是如何对线上OOM问题进行快速定位的。 ?...再通过Linux的mmap调用映射到用户态虚拟内存地址空间。 第一步创建匿名共享内存时,需要打开/dev/ashmem文件,所以需要一个FD(文件描述符)。...这是在Linux中分配大块内存的常用方式。其分配的是虚拟内存,对应页的物理内存并不会立即分配,而是在用到的时候触发内核的缺页中断,然后中断处理函数再分配物理内存。 调用clone方法进行线程创建。...在/proc/pid/limits描述着Linux系统对对应进程的限制,其中Max open files就代表可创建FD的最大数目。

1.2K20

TCP的MTU Probe和MSS(2)

在上一篇《TCP的MTU Probe和MSS(1)》介绍了TCP使用MTU Probe来避免PMTU变小而导致发送失败的方法。...作为完整的MTU Probe还要有一套机制,用于及时增大MSS,从而可以发送更大的报文。 今天,就让我们看看TCP的PMTU Probe如何解决这一问题的。...接下来进入tcp_mtu_probe,其入口先进行“合法性”检查,判定哪些情况不适合做MTU探测。 ? 例如没有打开TCP MTU Probe,则这个函数直接返回。...数据包成功的发送到了对端,本端的TCP再次进入MTU探测函数tcp_mtu_probe。 ?...至此,TCP MTU Probe的原理已经分析完毕,做一个简单的总结:当PMTU变小时,MTU Probe通过丢包发现这种情况,从而不断的降低当前MSS值,达到成功发送的目的。

2.6K20

tomcat服务器监控工具之probe「建议收藏」

前言:今天把公司的一台tomcat服务器进行了迁移,为了查看在使用过程中的详细信息,在网上搜索了很多关于web服务器的监控软件,最后拟定使用probe这个开源并且功能也很完善的一款工具接下来介绍一下使用方法与安装技巧...一、简介 psi-probe是lambdaprobe的一个分支版本,用于对Tomcat进行监控,比tomcat的manager强大很多。...二、下载地址 http://code.google.com/p/psi-probe/downloads/list 三、安装 1.解压,将probe.war放进webapps目录。...如果配置不对,就会出现403的错误,连tomcat的manager都进不了,更不用说probe了。 3.lambdaprobe是不支持tomcat6.0.30的。所以最好使用psi-probe。...六、测试 启动tomcat,访问http://127.0.0.1:8080/probe,输入前面配置的用户密码即可 点击相应的链接就可以看到各种实时监控信息了发布者:全栈程序员栈长,转载请注明出处:

1K10

dotnet C# 设置 X11 应用窗口背景透明

本文将告诉大家如何在 X11 里面设置窗口透明 不同于在 WPF 里面可以使用 AllowsTransparency 简单方便的设置透明,在 X11 里面设置窗口透明的方法比较绕。...PropertyGroup> 以上的 csproj 项目文件代码里和空控制台核心不同在于使用 AllowUnsafeBlocks 开启不安全代码 打开 Program.cs 文件,开始编写 X11...透明窗口示例应用代码 按照 X11 的基础使用方法,先获取 Display 和 Screen 和 RootWindow 对象/指针,代码如下 var display = XOpenDisplay(0)...{ break; } } return visual->visual; } 获取 Visual 指针的方法就是本文的核心逻辑了,也是 X11...return _addr_GetVisualFromFBConfig(@dpy, @config); } // Ignores egl functions. // On some Linux

6410
领券