1.平均负载案例分析 场景一:CPU 密集型进程 场景二:I/O密集型进程 场景三:大量进程的场景 2.CPU 上下文切换案例 2.1怎么查看系统的上下文切换情况 2.2查看每个进程上下文切换的情况 2.3 案例实操 3.CPU使用率的案例 3.1CPU 使用率很高,但为啥却找不到高 CPU 的应用 ...
分类:
系统相关 时间:
2019-07-01 15:45:34
阅读次数:
354
1、是否使用线程池就一定比使用单线程高效呢? 不是,比如Redis就是单线程的,但它却非常高效,redis基本上都是内存操作,这种情况下单线程可以很高效地利用CPU,而多线程存在相当比例的IO和网络操作,多线程带来线程上下文切换开销。2、solr如何实现搜索的? 倒排索引,先抽取文档中词,并建立词与 ...
分类:
编程语言 时间:
2019-06-29 19:33:24
阅读次数:
133
1、线程自旋:在阻塞线程的时候为了等待解锁(访问临界资源)(Sleep)。 2、上下文切换:将处理器当前线程的状态保存到操作系统内部的线程对象中,然后再挑出一个就绪的线程,把上下文信息传递给处理器,然后执行这个线程。 ...
分类:
其他好文 时间:
2019-06-25 13:11:17
阅读次数:
88
本文将从以下几个方面描述java多线程编程相关的内容。 线程简介 线程的状态与上下文切换的概念 线程的监控 synchronize和volatile 多线程的优点和缺点 多线程的设计模式 线程池 线程简介 进程代表运行中的程序。一个运行的java程序就是一个进程。 从操作系统的角度来看,线程是进程中 ...
分类:
编程语言 时间:
2019-06-17 19:03:23
阅读次数:
106
1.什么是上下文? Linux是一个多任务的操作系统,它支持远大于CPU数量的任务同时运行,当然,这些任务实际上并不是真正的在同时运行,而是系统在很短的时间内,将CPU轮流分配给他们,给用户造成很多任务同时运行的错觉。 在每个任务运行前, CPU 都需要知道任务从哪里加载,又从哪里开始运行。也就是说 ...
分类:
其他好文 时间:
2019-06-06 13:57:50
阅读次数:
83
一.java性能调优的标准 cpu:有的应用需要大量计算,他们会长时间、不间断地占用 CPU 资源,导致其他资源无法争夺到 CPU 而响应缓慢,从而带来系统性能问题。例如,代码递归导致的无限循环,正则表达式引起的回溯,JVM 频繁的 FULL GC,以及多线程编程造成的大量上下文切换等,这些都有可能 ...
分类:
编程语言 时间:
2019-06-03 21:38:57
阅读次数:
127
1.锁的分类 自旋锁: 线程状态及上下文切换消耗系统资源,当访问共享资源的时间短,频繁上下文切换不值得。jvm实 现,使线程在没获得锁的时候,不被挂起,转而执行空循环,循环几次之后,如果还没能获得锁,则被挂起 阻塞锁:阻塞锁改变了线程的运行状态,让线程进入阻塞状态进行等待,当获得相应的信号(唤醒或者 ...
分类:
其他好文 时间:
2019-05-18 19:11:51
阅读次数:
135