疑难杂症
文章平均质量分 91
beyondma
一个温柔的程序员爸爸
展开
-
手机遇到性能BUG怎么破?
目前手机SOC的性能越来越少,很多程序员在终端程序的开发过程中也不太注意性能方面的优化,尤其是不注意对齐和分支优化,但是这两种问题一旦出现所引发的问题,是非常非常隐蔽难查的,不过好在项目中用到了移动端的性能排查神器友盟U-APM工具的支持下,最终几个问题得到了圆满解决。我们先来看对齐的问题,对齐在没有并发竞争的情况下不会有什么问题,编译器一般都会帮助程序员按照CPU字长进行对齐,但这在终端多线程同时工作的情况下可能会隐藏着巨大的性能问题,在多线程并发的情况下,即使没有共享变量,也可能会造成伪共享,由..原创 2021-10-23 10:36:57 · 16284 阅读 · 0 评论 -
一行小错为何产生巨大破坏-Facebook史诗级故障大反思
弱小从来不是生存的障碍,傲慢才是。10月4日FaceBook发生了一次史诗级中断事故,故障期间FaceBook所有旗下APP全面对外服务中断,而且故障的时间长达7个小时之久。根据Facebook最新的声明来看,故障的原因是由于工程师错误地发出了一条指令,切断了Facebook的数据中心“在全球范围内的所有网络连接”。恰恰是这条简单的指令,造成的影响却是史诗级别的,本次宕机事故非常彻底,甚至Facebook自己的内网也完全报废,无法访问。笔者看到事件解决过程中不少运维方面的大牛都直接把故障的原因...原创 2021-10-07 11:52:27 · 7204 阅读 · 8 评论 -
一个小BUG,引出对Linux启动机制Systemd的代码分析
最近我在生产上遇到一个非常有意思的问题,在Cent OS7以上的操作系统中,VG卷组一激活其默认对应的文件系统也一并挂载上了,而且这还不是红帽和CentOS的特有问题,如果fstab配置default参数的话,其它Linux发行版也有同样的问题。一般来说用户只需要在启动的时候自动挂载文件系统,在日常使用中激活卷组后,用户很可能希望把这个卷组挂载到其它位置上,而非默认位置,Systemd和fstab这样的联动操作其实给用户日常的使用带来了不少的困扰。这其实应该是systemd与fstab配合的一个..原创 2021-09-04 14:43:23 · 876 阅读 · 0 评论 -
Go的闭包看你犯错,Rust却默默帮你排坑
初识闭包闭包(Closure)在某些编程语言中也被称为 Lambda 表达式,是能够读取其他函数内部变量的函数。一般只有函数内部的子函数才能读取局部变量,所以闭包这样一个函数内部的函数,在本质上是将函数内部和函数外部连接起来的桥梁。在实践当中,假如我们需要统计一个函数被调用的次数,最简单的方式就是定义一个全局变量,每当目标函数被调用时就将此变量加1,但是全局变量会带来很多误用等问题,安全性往往得不到保证;而为调用次数专门设计一个以计数的接口又太小题大做了。但是通过闭包就比较容易实现计数功能,以G原创 2021-07-24 12:07:19 · 539 阅读 · 2 评论 -
一顿操作猛如虎,一看结果还是0,Rust能避免Go的BUG?
Google此前谈到Linux内核的未来与Rust的关系时曾表示,Rust现在已经准备好加入C语言,成为实现内核的实用语言。它可以帮助减少特权代码中潜在的bug和安全漏洞,同时与内核也配合得很好,可以很大程度上保留其性能特性。...原创 2021-06-19 12:48:46 · 2451 阅读 · 15 评论 -
为什么谷歌被骂上热搜一点也不冤,详解FloC背后联邦计算
近几天谷歌因为一项叫做FLoC的技术而被骂上了热搜,笔者看了一下这是一种基于联邦学习的“用户追踪”技术,可以在不暴露客户隐私的情况下进行用户画像及大数据营销,这项技术对于谷歌这种广告收入占总体营收9成的互联网公司来讲意义重大。其实FLoC相比于Cookie从某种程度上讲还是有一定进步的,通过Cookie网站能轻松追踪到用户的所有上网行为,而通过FLoC只能追踪到分类相同的用户组,从这个逻辑上讲今后如果读者突然发现APP突然疯狂向你推荐某些莫名其妙的商品,那很有可能是你所在的用户组中的其它人搜...原创 2021-05-10 11:57:08 · 8678 阅读 · 15 评论 -
经典问题:数据有误,一定要重传吗?
之前的《疑难杂症,面试遇到根本不懂的题目怎么办》中留了一下问题,“如果想完全确定第10列缺失的数到底是什么,那么至少需要多少检验位?其实解决这个问题要从帽子问题来入手,帽子问题的基本规则就是玩家只能看到别人头上的帽子,而无法知道自己头上的帽子颜色。这其实是典型的”只错一位“情况下的纠错问题。帽子问题帽子问题的经典表述如下:个监狱关押着N个死囚。一天监狱长找到他们,并交给他们一个看起来很残酷的任务。规则是:一会给你们每人随机戴1顶帽子,而帽子要么是黑色要么是白色,概率相等,而且发的帽子当中必然有红有黑原创 2021-05-06 20:22:37 · 4554 阅读 · 6 评论 -
疑难杂症:面试中遇到完全不懂的题目,怎么办
最近在csdn的问题上看到一个有关离散数学的求助,说话我的离散数学知识基本上已经还给老师了,不过看到悬赏金额有300元之巨,我还是点进去瞧了一下(链接在此),结果发现还是能在完全陌生的领域进行分析并蒙出结论的。解完题之后呢,笔者进行了复盘,发现站在面试官的角度来看,只要能表达出来下面的思考过程基本上即便答案不对,也肯定能够通关,而且这个解决问题的思考方式也和排除生产环境的一些难题特别契合,因此总结一下分享给大家。遇到英文看不懂怎么办这个问答的求助有两道题,先说第一题,如果英文过关,完全...原创 2021-05-01 09:24:43 · 661 阅读 · 2 评论 -
疑难杂症:内存明明很富裕,却还是申请不到?
本次我们继续生产问题的疑难杂症排查系统的文章,在开始我们下一次集中讨论Redis的问题之前,本文与《疑难杂症:系统雪崩到底是为什么》和《疑难杂症: 遇到一个杀不掉,追不到,找不着的进程怎么破?》共同作为下次博客的前序铺垫,经大家普及一下基础知识。当然这个情况我们还是以一个案例,引入今天的话题。最近Redis通过其极佳的性能而火爆全球,作为内存缓存数据库方面Redis几乎没有任何对手,因此Redis的问题往往是比较经典需要我们仔细推敲的。一般来讲我们都比较推荐在使用Redis时将其默认的MaxM...原创 2021-04-23 20:32:03 · 5604 阅读 · 9 评论 -
疑难杂症:系统状态正常,LInux双机Pacemaker为什么还要切换?
上个周末我们的生产再次发生一个问题,一套系统状态明明是正常的,监控上没有任何报警,可是Cent OS操作系统的双机软件Packmaker还是发起切换了。由于单位主机的日志涉及敏感信息,而且无法连通外网,不方便与Github进行联动查询源代码,不过当时日志显示当时的两条info信息还是引起了我的注意,我们知道throlle是节流阀的意思,这个信息虽然连warning的级别都没到,但是也许还是提示系统在切换时的状态可能并不正常。Apr 17 13:02 [61870] **** crmd: info: t原创 2021-04-18 10:29:10 · 1187 阅读 · 2 评论 -
如何在64m内存的运行环境下,靠Java完成旅游规划问题
昨天笔者的博客《疑难杂症:申请点内存怎么这么慢》曾经对于这个旅游规划问题进行过介绍,这其实是一个邻接矩阵的问题,这个程序在笔者的电脑上之所以慢,主要还是在于内存申请与释放机制的问题,这点前文介绍过,这里不加赘述。而在与邹欣老师沟通之后,我突然发现原来这个PTA平台的旅游规划问题(https://pintia.cn/problem-sets/15/problems/717)需要在线提交代码,其中提供给java进程的内存最大只有64m,最长的运行时间只有800ms,这也就是说我之前给出的加largep...原创 2021-04-12 08:15:00 · 1315 阅读 · 6 评论 -
疑难杂症:申请点内存为何这么耗时
本次我们继续生产问题的疑难杂症排查系统的文章,在开始我们下一次集中讨论Redis的问题之前,还需要用两次博客来专门讲一下有关于内存的问题,本文先行讨论一下内存分配的时间复杂度,下一篇计划叫《疑难杂症:内存还够为何申请不到》讨论一下内存分配的空间碎片问题,这两篇博客与之前的《疑难杂症:系统雪崩到底是为什么》和《疑难杂症: 遇到一个杀不掉,追不到,找不着的进程怎么破?》共同作为Redis问题排查的前序铺垫,给诸位读者们普及一下基础知识。本次这篇博客源自于今天上午《编程之美》的作者邹欣老师在群里发的一个...原创 2021-04-10 20:28:58 · 6032 阅读 · 13 评论 -
疑难杂症:系统雪崩到底是为什么
这周二笔者参加了由CSDN举办的“2021年创作扶持计划”宣讲会,笔者完全被副总裁于邦旭的激情与执着所感染,说实话已近不惑之年的笔者最近已经很少被这样的打动到了,或者我这样的IT老兵除了给CSDN公众号贡献一些评论文章,也还是有机会在纯技术层面给读者们分享一些心得。在年后尝试写过几篇“疑难杂症”系列的文章,不过想在分析故障原因时,迅速判断问题解决的方向却需要底层机制的“元认知”加持。还是举“2021年创作扶持计划”的当中的例子,在直播时有网友提问说CSDN的网站为什么总爱崩溃呢?于总当时就提到提到使用S原创 2021-03-27 14:27:01 · 5999 阅读 · 14 评论 -
疑难杂症:同网段ping不通,跨网段建不了链,怎么破?
笔者之前分享过两篇有关生产中疑难杂症的解决问题,效果出乎意料的好,其实工作这么多年,有关疑难杂症的素材真是遇到得很多,也值得好好总结一下,那么今天就继续和大家分享一下在日常工作中碰到的难解问题,当然具体的敏感信息我会略去,只是把问题的现象和经验总结一下,避免大家再踩坑。近年来由于云计算的不断盛行,很多企业的数据中心都开始了大规模的扩容之旅,其中不少网络规划中都将用于部署备份、监控设备的网络区域,单独划分成一个大的子网,没有进行进一步的规划,在监控服务器随着生产业务服务节点一并扩容时,实际中发现两个...原创 2021-03-13 10:00:36 · 7314 阅读 · 5 评论