问题主要在于profiling tools可用于ARM处理器 - 具体而言ARM v7; 我正在使用Linux
我打得四处Intel和AMD处理器,我知道他们有各种分析工具一样Perf,perfmon而valgrind这将让我监视各种计数器像retired instructions, cache misses, floating point unit, integral units, etc.
但是,我不知道是否ARM也支持这种分析工具.您知道可以在ARM处理器上使用的任何工具吗?
我搜索了ARM 参考手册,但未找到性能计数器列表.例如,在Intel处理器中,您可以在ref. manual和OProfile网页中找到它们.是否有手册或网页列出了performance monitoring countersfor 的列表ARM.
谢谢.
您使用哪个探查器用于MPI的Fortran代码库?gprof似乎没有正常工作.Sun Studio Analyzer仅返回C/C++系统调用的计时,并且不显示任何fortran函数.
我正在尝试使用Visual Studio 2012 Ultimate 对C#和CLI的C5通用集合库进行性能分析.由于项目没有可执行文件,我在解决方案中创建了一个新的控制台应用程序项目.该项目包含一个简单的类,其主要方法创建一个具有大量元素的数据结构.问题是我的CPU采样总是返回以下输出:
Profiling started.
Profiling process ID 2684 (C5.Performance).
Process ID 2684 has exited.
Data written to C:\<some path>\C5\C5.Performance130904.vsp.
Profiling finished.
PRF0025: No data was collected.
Profiling complete.
Run Code Online (Sandbox Code Playgroud)
和一个说PRF0025的确认框:没有收集数据.我试图改变收集大小,以便CPU可以做更多的事情,但没有任何运气.我在进行.NET内存分配分析时没有问题.
我在OSX主机上的VirtualBox上运行Windows 7.
如何在设备上配置我的ARM代码.
这是一个涉及USB和SDH处理的裸机代码,我看到这个用于ARM的Code Profiler但看起来非常渺茫,我熟悉DS5但是如果你在基于linux内核的操作系统的平台上,它的大多数工具都可以使用.我编译我的代码gcc.
我有一个用scala编写的web服务,它建立在twitter finagle RPC系统之上.现在我们遇到了一些性能问题.我们有外部API组件和数据库层.我打算安装Zipkin以便拥有服务级别跟踪系统.这将使我知道服务级别的瓶颈在哪里.
我想知道是否有框架来监控我的应用程序层内的性能.该应用程序是一套连续应用于我的数据的过滤器,我想知道哪个过滤器需要时间来计算.我听说过JVM分析,但对于我想做的事情似乎有些过分.你会推荐什么 ?谢谢你的帮助.
我正在尝试使用Visual Studio的性能工具来分析C++ DLL.我创建了一个针对我的DLL的分析会话,进入它的属性,并覆盖启动设置以运行加载此DLL的可执行文件.
当我尝试启动探查器时,我得到:
Error VSP1033: The file 'C:\src\mam\bin\Profile\Win32\Helper.dll' does not contain a recognized executable image.这使得它似乎正在尝试启动DLL,但它确实使用可执行文件的名称生成一个空报告.
有什么方法可以解决这个问题吗?
我这样做:
import qualified Data.ByteString.Lazy.Char8 as BS
main :: IO ()
main = do
let filename = "sample.txt"
text <- BS.readFile filename
let res = BS.take 1000 $ text
print res
Run Code Online (Sandbox Code Playgroud)
当我通过分析运行它时,它给了我:
162,048 bytes allocated in the heap
2,472 bytes copied during GC
59,688 bytes maximum residency (1 sample(s))
22,232 bytes maximum slop
156 MB total memory in use (0 MB lost due to fragmentation)
Run Code Online (Sandbox Code Playgroud)
我读的文件大约是50K字节.为什么需要60K字节的内存(最大驻留时间)?我也尝试过String和Lazy文本.这是相同的图片.我认为Haskell在某种程度上是将整个文件读入内存或只是分配与文件长一样多的内存.我怎么能阻止这个?我想从它只读N字节,不想浪费这么多的内存.
我有一个Ruby on Rails应用程序,我想用New Relic监视GC.关于如何做到这一点的文件是非常稀缺的.
我已经有New Relic从我的应用程序收集数据.我想要的是添加GC分析.任何人都可以向我解释这是如何做到的?
我试图描述我的go库,但我坚持以下输出:
(pprof) top10
Total: 884 samples
884 100.0% 100.0% 884 100.0% runtime.mach_semaphore_wait
0 0.0% 100.0% 884 100.0% System
Run Code Online (Sandbox Code Playgroud)
哪个不是很有帮助.我的库读取一个zip文件并解析附带的XML文件(xlsx).当我在我的库的最低部分(实际的xml解码发生)中移动分析函数时,输出并不是"更好":
(pprof) top10
Total: 884 samples
884 100.0% 100.0% 884 100.0% fmt.(*fmt).formatFloat
0 0.0% 100.0% 884 100.0% runtime.schedtrace
Run Code Online (Sandbox Code Playgroud)
我知道这是一个非常模糊的问题,但也许有一些有用的提示,而无需提供完整的源代码?
我从golang博客条目中获取了探查器调用,并go tool pprof main profile在构建之后调用了探查器main.go.
f, err := os.Create("profile")
if err != nil {
log.Fatal(err)
}
pprof.StartCPUProfile(f)
defer pprof.StopCPUProfile()
... my source code here
Run Code Online (Sandbox Code Playgroud)