进程上下文切换 – 残酷的性能杀手(下)
一般我们可以通过工具vmstat, dstat, pidstat来观察CS的切换情况。vmstat, dstat只能观察整个系统的切换情况,而pidstat可以更精确地观察某个进程的上下文切换情况。这里我用了chaos库中task_service的一个测试用例来说明情况(chaos库是我写得一个高性能并发网络库,而task_service是一个提供了多线程通信的异步消息队列)。
精选技术长文、实践记录与系统化阅读
低噪声、高可扫读;标题、摘要、来源、标签一目了然。
采集自各技术站点的近期文章。
一般我们可以通过工具vmstat, dstat, pidstat来观察CS的切换情况。vmstat, dstat只能观察整个系统的切换情况,而pidstat可以更精确地观察某个进程的上下文切换情况。这里我用了chaos库中task_service的一个测试用例来说明情况(chaos库是我写得一个高性能并发网络库,而task_service是一个提供了多线程通信的异步消息队列)。
前几天熊总为了让我们能够方便的使用google搜索,给我们几个人发了个福利——foolssh的翻墙帐号。于是我们开始欣赏墙外的风景。最近没事也到twitter上看看那些牛人都在干啥,比如说python的作者,trello的创始人。墙外的风景确实不错。以前也用过一些免费的翻墙帐号,可惜质量得不到保证。
那还是我刚毕业时候的事,在移动的机房里,抵抗着夏天机房内的超低温,看着一个资深的攻城师舞动的手指在键盘上不断的敲打着命令。没错,你猜对了,他在用shell和vim调试程序。那时我对linux命令不算很熟悉,除了他敲的cd .. 和cd ../..是什么意思,其他的都不太清楚,因此在之后我对linux产生了极大的兴趣,我唯一的想法就是能够像他那样不假思索的敲出cd .. cd ../../..
、背景: 最近有点忙,加上脑子现在不太好用,分不清事情的优先级,一大早上收到一堆邮件,满篇的英文也不知道说的什么,最经常被人问到的事,“某某某事知道么?”,然后就茫然了。 项目管理: 话说现在每个小时都要安排任务,听起来挺恐怖的,这里的阶段分的很具体,都是sprint,话说每天都在冲刺,让人深刻的有被剥削的感觉。
目录:1. 优雅地使用链表;2. 高效地分支判断;3. 汇编实现的原子操作;4. 0长度数组;5. 三目运算的另类表达
在使用Linux服务器的过程中,有16个命令可以帮助你全面了解你的服务器的运行状况。如果你能够很熟练地掌握这些命令,就离成为一名专业的Linux系统管理员不远啦! 在不同的Linux发行版中,会有不同的GUI程序可以显示各种系统信息,比如SUSE Linux发行版中,就有非常棒的图形化的配置和管理工具YaST,KDE桌面环境里的KDE System Guard也很不错。 然而,对于一名Linux系统管理员来说,除非迫不得已,否则不会在Linux服务器上去运行这样的GUI程序。
网页设计布局中一直比较流行网格对齐,但只是针对水平的对齐,很少或者没有涉及垂直对齐,这篇文章很详细的讲解了垂直网格,乃至基线对其的相关,而css3中的多列布局的也使其显得更为重要,因此还是很有必要去了解学习,至少也是一种思路。
整体的感觉win8操作系统还是非常快速、流畅、直接的,这是一次尝试,微软试图把人们对PC的操作习惯向更触摸更移动的方向迁移,但还有比较长的路要走。但是win8的设计哲学还是很应该得到认可的,也希望在不久的将来,大家说到简单、直接、快速这几个词的时候,联想到的不仅仅是李小龙,还有这样一个敢于尝试的操作系统。
阿里巴巴登录页面左侧一直都会有个banner,这个图片因为位置、环境的特殊性,跟我们平常做的首页banner的设计思路会有所不同。首页banner更注重的是信息传达,登录左侧的这个banner偏重情感化设计,情感化设计除了节日、事件的氛围之后,还有就是趣味性。 趣味设计是一个比较大的概念,在这里我狭隘的把趣味设计分成两个部分来介绍,1.主体元素的创意;2.背景元素的处理。每次在做这个banner的时候,都非常的纠结,当然最纠结的地方就是创意,虽然创意是给非常主观的东西,但是我们还是可以通过对一些元素处理找到创意点。
libev中所有事件的基础类型ev_watcher,所有的事件都可以通过(W)watcher转换成ev_watcher,大写的W在libev定义的是ev_watcher *。抽象出ev_watcher作用是所有的watcher都可以共用ev_start、ev_stop函数。下面用ev_TYPE表示ev_io、ev_timer、ev_async各种watcher类型的通用形式。各种类型的ev_TYPE都继承自ev_watcher,还有形如ev_TYPE_init、ev_TYPE_start、ev_TYPE_stop。
简单介绍下 在较早版本的 Lucene 中对一定范围内的查询RanageQuery 。该Query 继承于 MulitTermQuery,在重写(rewrite )Query 树的时候将会遵从一个原则: 根据起始区间值获取term, 然后遍历,根据满足条件的term 的数目来决定重写Query 的类型。
前面我写了一篇快速web app的关键是使用Ajax、优化Javascript和更好的缓存,现在让我们继续探讨这个话...
因为安全问题,我们需要网址加密。 网址加密是一个很广泛的需求,但事实上很难搜索到一个能用在项目中的完整案例。
HBase集群在读写过程中,可能由于Region Split或Region Blance等导致Region的短暂下线,此时客户端与HBase集群进行RPC操作时会抛出NotServingRegionException异常,从而导致读写操作失败。这里根据实际项目经验,详细描述这一问题的发现及排查解决过程。 1. 发现问题 在对HBase集群进行压力测试过程中发现,当实际写入HBase和从HBase查询的量是平时的若干倍时(集群规模10~20台,每秒读写数据量在几十万条记录的量级),导致集群的读写出现一定程度的波动。
!!一般用来将后面的表达式强制转换为布尔类型的数据(boolean),也就是只能是true或者false;因为javascript是弱类型的语言(变量没有固定的数据类型)所以有时需要强制转换为相应的类型。
JavaScript由于同源策略的限制,跨域通信一直是棘手的问题。当然解决方案也有很多: document.domain+iframe的设置,应用于主域相同而子域不同; 利用iframe和location.hash,数据直接暴露在了url中,数据容量和类型都有限 Flash LocalConnection, 对象可在一个 SWF 文件中或多个 SWF 文件间进行通信, 只要在同一客户端就行,跨应用程序, 可以跨域。 window.name 保存数据以及跨域 iframe 静态代理动态传输方案,充分的运用了window.name因为页面的url改变而name不改变的特性。
有时候,多么的希望ORACLE能够导出某个视图中的数据,然后通过这个视图来迁移需要的数据,现在ORACLE 12C通过expdp的views_as_tables来实现了该功能,把视图当作一个普通表从而导出数据,导入的时候直接和一个正常表一样,通过视图的导出,表的导入来实现相关需求
LDA是由Blei,Ng, Jordan 2002年发表于JMLR的概率语言模型,应用到文本建模范畴,就是对文本进行“隐性语义分析”(LSA),目的是要以无指导学习的方法从文本中发现隐含的语义维度-即“Topic”或者“Concept”。隐性语义分析的实质是要利用文本中词项(term)的共现特征来发现文本的Topic结构,这种方法不需要任何关于文本的背景知识。文本的隐性语义表示可以对“一词多义”和“一义多词”的语言现象进行建模,这使得搜索引擎系统得到的搜索结果与用户的query在语义层次上match,而不是仅仅只是在词汇层次上出现交集。
本文主要介绍PLSA及EM算法,首先给出LSA(隐性语义分析)的早期方法SVD,然后引入基于概率的PLSA模型,其参数学习采用EM算法。接着我们分析如何运用EM算法估计一个简单的mixture unigram 语言模型和混合高斯模型GMM的参数,最后总结EM算法的一般形式及运用关键点。对于改进PLSA,引入hyperparameter的LDA模型及其Gibbs Sampling参数估计方法放在本系列后面的文章LDA及Gibbs Samping介绍。
前一段某项目中页面在IE6突然出现了乱码,当时做了各种排查,最终推测是使用了HTML5的DOCTYPE和Charset以及中文注释的问题,于是临时采用旧的Charset方法来修复了下,后面乱码再没出现...