图
2024-07-08 09:55:58 阅读次数:24
多线程的应用
单核 cpu 下,线程实际还是串行执行的。操作系统中有一个组件叫做任务调度器,将 cpu 的时间片(windows下时间片最小约为 15 毫秒)分给不同的程序使用,只是由于 cpu 在线程间(时间片很短)的切换非常快,人类感觉是同时运行的 。总结为一句话就是: 微观串行,宏观并行 。
GIL 是python的全局解释器锁,同一进程中假如有多个线程运行,一个线程在运行python程序的时候会霸占python解释器(加了一把锁即GIL),使该进程内的其他线程无法运行,等该线程运行完后其他线程才能运行。如果线程运行过程中遇到耗时操作,则解释器锁解开,使其他线程运行。所以在多线程中,线程的运行仍是有先后顺序的,并不是同时进行。
由于同一进程中的所有线程都是共享数据的,如果对线程中共享数据的并发访问不加以限制,结果将不可预期,在严重的情况下,还会产生死锁
性能测试——性能统计工具
NUMA 架构将内存和cpu分散在不同的 NUMA 节点上,每个节点都有自己的本地内存和cpu处理器,将进程绑定到特定的 NUMA 节点或cpu上,可以让进程直接访问本地内存和CPU,减少访问远程节点开销,提高访问速度,从而提高程序性能。
如何通过消耗CPU达到:CPU的占用率保持指定的百分比,如50%。
使用cgroup控制CPU使用率
背景:通过性能监控发现上线服务器cpu某核占用率已经达到了100%,而且是由我们的某个核心服务导致的。幸亏由于我们的服务进程由多个相同worker(线程)调度承担的,所以除了CPU占用率高之外,并没有对服务造成影响。随着上次我们找到那个吃I
查看 cpu、内存、磁盘相关指标
文章
27958
阅读量
3535450
2024-11-04 09:33:47
2024-04-17 08:21:15
2023-06-30 08:28:39
2023-06-25 07:12:33
2023-05-29 10:49:26
2023-02-15 10:02:19
2023-02-15 10:02:19
2023-05-29 10:49:26
2023-06-25 07:12:33
2023-06-30 08:28:39
2024-04-17 08:21:15
2024-11-04 09:33:47