网络相关面试题
发布日期:2021-05-04 13:50:01 浏览次数:12 分类:技术文章

本文共 817 字,大约阅读时间需要 2 分钟。

1、CPU负载和CPU利用率的区别

可以通过uptime,w,top命令查看CPU的平均负载

在这里插入图片描述

Load Average:指的是当前系统处于正在运行和等待的进程,3个参数代表系统过去的1分钟,5分钟,15分钟内的系统平均负载

单核cpu负载为1时表示满负载,如4核cpu满负载为4,一般合适为70%,超过之后可能需要排查

CPU利用率:指当前运行进程实时占用CPU的百分比,是一段时间内CPU使用情况的统计

例如

厕所有一个坑位,如果有一个人占用了坑位,这时候负载就是1,如果再来一个人排队负载就是2
在一个小时内,A上厕所用了10分钟,B上厕所用了20分钟,还有30分钟没人用,那么这一个小时的利用率就是50%

2.如果CPU负载很高,利用率很低怎么办?

说明处于等待状态的任务很多,负载越高,代表可能有很多僵死的进程。通常这种情况是IO密集型任务,大量请求在请求相同的IO,导致任务队列堆积。

通过top命令观察,通过ps -axjf查看是否有状态为D+的进程,这个状态指的就是不可中断的睡眠状态的进程。处于这个状态的进程无法终止,也无法自行退出,只能通过恢复其依赖的资源或者重启系统来解决

3、 如果CPU负载很低,利用率很高又怎么办呢?

表示CPU任务不多,但是任务的执行时间很长,很大概率是代码问题,通过top定位到最高的任务进行排查

4、CPU使用率达到100%怎么排查

1)、通过top命令找到占用率高的进程

2)、通过top -Hp pid找到占用CPU高的线程

3)、再把线程id转化为16进制,printf '0x%x\n' pid

4)、通过命令jstack 163 | grep '转化后的16进制' -C5 --color 或者jstack 163|vim +/转化后的16进制 -找到有问题的代码

5、Linux常用命令

1)、touch,创建文件

2)、cat,查看文件
3)、tail,查看文件最后多少行

上一篇:二叉树展开为链表
下一篇:填充每个节点的下一个右侧节点指针

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年03月25日 13时03分47秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章