简述cpu的工作原理
分析cpu参数:lscpu CPU(s): ------ 2 cpu个数 Thread(s) per core: ------ 1 每核的线程 Core(s) per socket: ------ 1 每个卡槽的核 Socket(s): ------ 2 每个cpu的卡槽 双cpu,4核多线程;每个cpu是双核;
cpu负载和利用率
可运行的进程(双r)不可中断的进程(block)
running(运行中的)runnable(等待运行的)block(等待io)=cpu的负载
利用率:cpu双线程如果都在调度java进程,表示当前cpu利用率是100; cpu双线程如果只有一个java进程在调度,表示当前cpu利用率是50;
最理想的情况:每个cpu线程都调度一个java进程,此时的负载=4;
不理想的情况:java进程数远大于cpu线程数,此时负载会远远超出cpu线程数;不能及时调度的进程就会排队;
cpu会给运行中的和等待运行的进程数均匀分配时间片;
cpu调度是以时间片为基准的;假设调度时间为1ns,调度超出1ns之后,进程会被挂起;切换到下一个进程
队列越长,cpu时间片就越小,调度时间就会越短,切换的越快;切换的过于频繁,cpu利用率就会很低,线程也会暂停 进程是最小资源分配单元;
线程最小调度单元;
个人简介
我是一名测试兼开发工程师,目前25K,目前做的是无人驾驶,欢迎和大家一起交流测试技术, 起高薪就业,我们还有一起打妖怪的群哦,还有面试题小程序哦
|