![用于获取指令大小、可运行依赖项的低级流程分析](https://linux22.com/image/100755/%E7%94%A8%E4%BA%8E%E8%8E%B7%E5%8F%96%E6%8C%87%E4%BB%A4%E5%A4%A7%E5%B0%8F%E3%80%81%E5%8F%AF%E8%BF%90%E8%A1%8C%E4%BE%9D%E8%B5%96%E9%A1%B9%E7%9A%84%E4%BD%8E%E7%BA%A7%E6%B5%81%E7%A8%8B%E5%88%86%E6%9E%90.png)
我一直在尝试开发一个使用图论对系统进行建模的应用程序(参见[1])图论基本上可以用于对可运行对象进行建模,以便找出它们的分区(分组可运行对象)并可以使用为了将它们映射到核心。
为了实现这一目标,我们需要许多信息。由于我不知道 Linux(特别是我们的 Raspbian)操作系统如何详细安排所有内容,并且我有兴趣了解我们的算法将如何提高核心利用率,因此我认为我可以获取进程信息并尝试建模他们我自己。
为此,我们需要:
指令大小,CPU 运行多少条指令来完成任务(非常重要) 进程所需的内存,物理内存和虚拟内存 用于调试进程的核心负载。读/写访问,它与哪个进程通信,是读还是写访问,它是什么类型的接口,以及读和/或写所需的指令大小和内存是多少。我想我可以通过在 Linux 中使用“top”命令来提取其中一些信息。它给出了核心负载、内存使用情况、虚拟和物理内存。我还认为我应该提到,我打算使用“任务集”,以便将进程放置到核心以查看其信息(请参阅[2])。
现在第一个问题我如何有效地获取指令大小、读/写访问以及上面列出的内容?
第二个问题有没有可能的方法来查看进程的可运行状态,即它运行的简单函数。还有他们的信息和读写访问?这个问题只是想找到一种对流程本身进行建模的方法,而不是流程之间的交互?
第三,你们知道是否有一种方法可以使用某种工具在图表中可视化进程及其指令大小?
[1]http://math.tut.fi/~ruohonen/GT_English.pdf
[2] 要将进程放置到核心,我使用:
pid = $(pgrep -u root -f $process_name -n)
sudo taskset -pc $core $pid &&
echo "Process $process_name with PID=$pid has been placed on core $core"