昨天搞定了一个十万火急的issue,客户抱怨产品升级后系统会变慢和CPU使用率相当高,客户脾气很大,声称不尽快解决这个问题就退货,弄得我们 R&D压力很大,解决这个issue的任务分给了我,客户是南非的一个公司,由于时差问题,我只好在家远程解决问题,晚上8点半用 gotomeeting远程到客户电脑 ...
分类:
系统相关 时间:
2016-11-11 14:42:24
阅读次数:
257
今天在生产环境遇到一个问题,Java 应用程序的 cpu 使用比例很高,导致整台机器的 cpu 使用率高达 90% ,正常情况下是 20% 左右。 把 Thread dump 导出来,利用 IBM Thread Analyzer for Java 工具进行分析。总共有60 多个在线线程,其中有 15 ...
分类:
编程语言 时间:
2016-11-08 07:49:29
阅读次数:
243
集群概述 一、为什么使用集群。 在当前的互联网中,网页浏览成为我们日常中的必须。网页浏览的连接数对硬件是一个极大的考验。 如果我们的服务器硬件不能应对高强度的访问量时,就需要扩展. 扩展: 1、向上扩展:对当前服务器进行性能升级,提高CPU、内存的性能。但代价极大。 2、向外扩展:对服务器数量进行增 ...
分类:
其他好文 时间:
2016-10-28 20:18:02
阅读次数:
144
程序编译器对结构的存储的特殊处理确实提高CPU存储变量的速度,但是有时候也带来了一些麻烦,我们也屏蔽掉变量默认的对齐方式,自己可以设定变量的对齐方式。 编译器中提供了#pragma pack(n)来设定变量以n字节对齐方式。 n字节对齐就是说变量存放的起始地址的偏移量有两种情况: 第一、如果n大于等 ...
分类:
编程语言 时间:
2016-10-18 07:34:29
阅读次数:
267
线程:线程是进程的一个执行单元,线程是被系统独立调度和分派的基本单元,多线程技术在于提高CPU的利用率。 并发:并发执行不是同时执行CPU,任意时刻还是只能有一个线程能够占用CPU,只不过多个线程之间CPU切换频率较快,给人的错觉。 异步: 死锁:一个资源只能被一个进程使用,在未使用完或未释放前,其 ...
分类:
编程语言 时间:
2016-10-14 11:45:32
阅读次数:
179
1.耗时的操作使用线程,提高应用程序响应 2.并行操作时使用线程,如C/S架构的服务器端并发线程响应用户的请求。 3.多CPU系统中,使用线程提高CPU利用率 4.改善程序结构。一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独立的运行部分,这样的程序会利于理解和修改。 使用多线程的理由之 ...
分类:
编程语言 时间:
2016-10-07 23:25:18
阅读次数:
230
MMU(内存管理单元)负责将虚拟地址转换为物理地址,数据存放在主存上,cpu访存时至少需要两次,第一次获取物理地址;第二次才获取数据。TLB:为了改善虚拟地址到物理地址的转换速度,提高cpu访存速度。原理:TLB利用的是页表的访问局部性,即当一个转换的虚拟页号被使用时,它..
分类:
系统相关 时间:
2016-09-27 20:51:19
阅读次数:
227
1.searchIndexer.exe占用过高CPU很可能是Windows的索引损坏造成的。 这时候只要进入控制面板—索引选项—高级—重建即可解决 2. net stop "windows search" 3. 看看icech是如何对付Windows Search的吧! 1、开始->运行,输入ser ...
分类:
其他好文 时间:
2016-09-25 14:29:47
阅读次数:
101
计算机组成原理——指令流水线 1. 综述 为提高CPU利用率,加快执行速度,将指令分为若干个阶段,可并行执行不同指令的不同阶段,从而多个指令可以同时执行。在有效地控制了流水线阻塞的情况下,流水线可大大提高指令执行速度。博客园知识库:CPU流水线的探秘之旅 经典的五级流水线:取址、译码、执行、访问内存 ...
分类:
其他好文 时间:
2016-09-12 12:30:03
阅读次数:
167
1. 查找进程 top查看进程占用资源情况 明显看出java的两个进程22714,12406占用过高cpu. 2.查找线程 使用top -H -p <pid>查看线程占用情况 3.查找java的堆栈信息 将线程id转换成十六进制 #printf %x 15664 #3d30 然后再使用jstack查 ...
分类:
编程语言 时间:
2016-08-26 18:03:16
阅读次数:
138