![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 94
寻烟的衣袖
这个作者很懒,什么都没留下…
展开
-
CPU过载、内存溢出分析
CPU过载、内存溢出问题一般出现在线上项目中,因为开发环境用户量和数据量都很小,即使你的代码有问题也不会爆发出来。线上出现这样的问题是比较严重的,需要认真对待,妥善解决。问题原因造成这样问题有两个大类型的原因:一,性能问题,高并发高访问情况下线程太多,内存不够用;这个时候体现了多线程的一个危害,cpu过载而且可能内存溢出二,代码问题,如代码中有死循环、一次查询数据量太大、存在太多对象引用内存无法回收(如集合里有大对象没有回收),数据库死锁等。使用top, free, uptime等命令查看CPU、原创 2022-02-25 14:26:30 · 3589 阅读 · 0 评论 -
linux load average负载详细解释
转载至linux load average负载详细解释CPU利用率和load averageCPU利用率,就是对于CPU的使用状况,这是对一个时间段内CPU使用状况的统计,通过这个指标可以看出在某一个时间段内CPU被占用的情况,如果被占用时间很高,那么就需要考虑CPU是否已经处于超负荷运作,长期超负荷运作对于机器本身来说是一种损害,因此必须将CPU的利用率控制在一定的比例下,以保证机器的正常运作。Load Average是CPU的Load,它所包含的信息不是CPU的使用率状况,而是在一段时间内CPU正转载 2022-02-24 14:46:30 · 5346 阅读 · 0 评论 -
netty 线程模型
Netty是Java领域有名的开源网络库,特点是高性能和高扩展性,因此很多流行的框架都是基于它来构建的,比如我们熟知的Dubbo、Rocketmq、Hadoop等。本文就netty线程模型展开分析讨论下首先先看IO模型:BIO:同步阻塞IO模型;NIO:基于IO多路复用技术的“非阻塞同步”IO模型。简单来说,内核将可读可写事件通知应用,由应用主动发起读写操作;AIO:非阻塞异步IO模型。简单来说,内核将读完成事件通知应用,读操作由内核完成,应用只需操作数据即可;应用做异步写操作时立即返回,内核会进原创 2020-12-17 13:54:18 · 344 阅读 · 0 评论 -
内核态线程,进程和CPU
用户态和内核态的概念—>内核态: CPU可以访问内存所有数据, 包括外围设备, 例如硬盘, 网卡. CPU也可以将自己从一个程序切换到另一个程序—>用户态: 只能受限的访问内存, 且不允许访问外围设备. 线程占用CPU的能力被剥夺, CPU资源可以被其他程序获取为什么需要用户态和内核态?—>由于需要限制不同的程序之间的访问能力, 防止他们获取别的程序的内存数据, 或者获取外围设备的数据, 并发送到网络, CPU划分出两个权限等级 :用户态 和 内核态进程的堆栈每个进程都有自己的原创 2020-12-15 15:16:38 · 1717 阅读 · 0 评论 -
线程和进程/阻塞和挂起以及那些sleep,wait()和notify()方法详解
线程与进程的阻塞线程阻塞线程在运行的过程中因为某些原因而发生阻塞,阻塞状态的线程的特点是:该线程放弃CPU的使用,暂停运行,只有等到导致阻塞的原因消除之后才回复运行,或者是被其他的线程中断,该线程也会退出阻塞状态,同时抛出InterruptedException。进程阻塞正在执行的进程由于发生某时间(如I/O请求、申请缓冲区失败等)暂时无法继续执行。此时引起进程调度,OS把处理机分配给另一个就绪进程,而让受阻进程处于暂停状态,一般将这种状态称为阻塞状态。进程的挂起挂起进程在操作系统中可以定义为暂原创 2020-09-29 18:58:53 · 8170 阅读 · 0 评论