前辈们,怎么查看linux系统平台的设备为什么在一个时间段内,突然之间有一个两秒的间隔,就是有两条log信息,这两条log信息是紧挨着输出的

奔走在路上的小白 2019-09-15 09:25:40
前辈们,怎么查看linux系统平台的设备为什么在一个时间段内,突然之间有一个两秒的间隔,就是有两条log信息,这两条log信息是紧挨着输出的,中间没有其他任何的log信息,但是通过查看这两条log信息的时间戳,时间戳显示两条log信息的输出时间间隔竟然是2秒,这两秒的间隔不知道是怎么产生的,中间没有任何log信息输出,不知道系统和CPU到底在这两秒时间内做了什么,通过在系统平台上创建一个级别非常高的task,然后每个10毫秒输出一条log信息,这样看看能否看到2秒内是否可以输出这条log信息,发现这样做没有人任何的作用,两条时间间隔2秒的log信息之间,还是没有任何的其他的log信息,前辈们有什么方法能够指点一下晚辈看看怎么才能知道2秒内系统或者CPU到底在做什么?
晚辈非常感谢,这个问题已经困扰四天了。
...全文
196 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
抱歉,问题是这样的:
1.是一个打印设备,系统是linux系统
2.做一个复印的任务。
3.需要量测复印任务从开始到结束的耗费的时间。
4.比如规定的时间是6s完成整个任务流程。
5.通过分析任务输出的log信息,发现时间是8.5s,没有达到规定的要求。
6.然后分析log发现,有两行log信息是挨着输出的,两行中间没有任何其他的log信息,但是两条log信息的时间戳却是间隔2.2s。
7.整个任务的过程中,会有三个进程进行交互,是一个主进程进行初始化,然后通过system函数创建其他两个进程,通过system创建的两个进程会把大约200M的数据通过块内存和callback的形式循环传递给主进程。
8.通过system函数创建的两个进程在把产生的数据传递完成后,就会结束自己任务,但是在结束的过程中会出现系统有2.2s的时间任何反应都没有的现象发生。
9.进程内部有通过信号量的方式进程临界区的保护,但是进程与进程之间的交互是通过发送message的方式进行通知的。
10.关于目前不同模块之间的进程通信方式不是很清楚,因为封闭和保密性太强。
11.以上就是流程和现象,现在的问题是,不知道如何debug出2.2s内系统到底在干什么。目前怀疑是进程之间的通信问题和system函数创建的进程方式导致的,但是不知道该用何种手段进行debug定位。
非常感谢!
cqyy725 2019-09-16
  • 打赏
  • 举报
回复
说得个不清不楚的,是心跳检查吧

1,025

社区成员

发帖
与我相关
我的任务
社区描述
Linux /Unix kernel支持不同的硬件体系,X86, ARM, MIPS, 等等
社区管理员
  • CPU和硬件区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧