草庐IT

perf-stat

全部标签

linux - 可以从 perf.data 文件生成 perf-stat 结果吗?

当我想使用Linux工具套件中的perf-stat和perf-report生成性能报告时perf,我跑:$perfrecord-omy.perf.datamyCmd$perfreport-imy.perf.data和:$perfstatmyCmd但这意味着我要第二次运行“myCmd”,这需要几分钟时间。相反,我希望:$perfstat-imy.perf.data但与perf套件中的大多数工具不同,我没有看到perf-stat的-i选项。是否有其他工具,或者有办法让perf-report生成与perf-stat类似的输出? 最佳答案

linux - R stats - 分配大矩阵/Linux 时的内存问题

我已经阅读了几个关于R中内存问题的线程,但我似乎无法找到解决我的问题的方法。我正在对一个大数据集的几个子集运行一种LASSO回归。对于一些子集,它运行良好,而对于一些更大的子集,它不起作用,错误类型为“无法分配大小为1.6Gb的向量”。错误发生在这行代码:example它还取决于“bigmatrix”中包含的变量数量。我尝试在Mac上使用R和R64,在PC上使用R,但最近在Linux上使用了更快的虚拟机,认为我可以避免任何内存问题。它更好,但仍然有一些限制,即使memory.limit指示“Inf”。有什么方法可以使这项工作有效,还是我必须在矩阵中删除一些变量或获取更小的数据子集?我读

linux - R stats - 分配大矩阵/Linux 时的内存问题

我已经阅读了几个关于R中内存问题的线程,但我似乎无法找到解决我的问题的方法。我正在对一个大数据集的几个子集运行一种LASSO回归。对于一些子集,它运行良好,而对于一些更大的子集,它不起作用,错误类型为“无法分配大小为1.6Gb的向量”。错误发生在这行代码:example它还取决于“bigmatrix”中包含的变量数量。我尝试在Mac上使用R和R64,在PC上使用R,但最近在Linux上使用了更快的虚拟机,认为我可以避免任何内存问题。它更好,但仍然有一些限制,即使memory.limit指示“Inf”。有什么方法可以使这项工作有效,还是我必须在矩阵中删除一些变量或获取更小的数据子集?我读

linux - 使用 perf 监控原始事件计数器

我正在尝试测量具有多个(物理)处理器的(英特尔至强)机器上的某些硬件事件。具体来说,我想知道为读取“offcore”数据发出了多少请求。我找到了theOFFCORE_REQUESTS英特尔文档中的硬件事件,它给出了事件描述符0xB0和数据需求,附加掩码0x01。然后告诉perf记录事件0xB1(即0xB0|0x01)并将其称为:是否正确?perfrecord-er0B1./mytestappsomeargs或者这是不正确的?因为perfreport没有显示像这样输入的事件的输出。除了tutorialentry之外,这方面的perf文档相当稀疏。它没有说明它是哪个事件(虽然这个对我有用)

linux - 使用 perf 监控原始事件计数器

我正在尝试测量具有多个(物理)处理器的(英特尔至强)机器上的某些硬件事件。具体来说,我想知道为读取“offcore”数据发出了多少请求。我找到了theOFFCORE_REQUESTS英特尔文档中的硬件事件,它给出了事件描述符0xB0和数据需求,附加掩码0x01。然后告诉perf记录事件0xB1(即0xB0|0x01)并将其称为:是否正确?perfrecord-er0B1./mytestappsomeargs或者这是不正确的?因为perfreport没有显示像这样输入的事件的输出。除了tutorialentry之外,这方面的perf文档相当稀疏。它没有说明它是哪个事件(虽然这个对我有用)

c++ - 如何使用 linux perf 获取 libc6 符号(例如 _int_malloc)的调用父项?

我正在使用linuxperf分析一个C++应用程序,并且我使用GProf2dot得到了一个很好的控制流图.但是,C库(libc6-2.13.so)中的一些符号占用了总时间的很大一部分,但没有边。例如:_int_malloc占用了8%的时间,但没有调用parents。__strcmp_sse42和__cxxabiv1::__si_class_type_info::__do_dyncast一起占用了大约10%的时间,并且调用者的名字是0,它有调用者2d6935c、2cc748c和没有调用者的6。因此,我无法仅使用perf找出哪些例程负责所有这些分配和动态转换。但是,似乎其他符号(例如mal

c++ - 如何使用 linux perf 获取 libc6 符号(例如 _int_malloc)的调用父项?

我正在使用linuxperf分析一个C++应用程序,并且我使用GProf2dot得到了一个很好的控制流图.但是,C库(libc6-2.13.so)中的一些符号占用了总时间的很大一部分,但没有边。例如:_int_malloc占用了8%的时间,但没有调用parents。__strcmp_sse42和__cxxabiv1::__si_class_type_info::__do_dyncast一起占用了大约10%的时间,并且调用者的名字是0,它有调用者2d6935c、2cc748c和没有调用者的6。因此,我无法仅使用perf找出哪些例程负责所有这些分配和动态转换。但是,似乎其他符号(例如mal

c - 从/proc/pid/stat 检索当前堆栈指针

我正在使用gdb执行一个基本的C程序。我在main()的开头有一个断点。运行代码后,gdb按预期在main()处中断。现在,如果我检查堆栈指针寄存器(rsp),我会看到0x7fffffffe170:0x00000000.当我使用cat/proc/17232/stat|检索相同的信息时cut-d""-f29/proc(其中17232是此进程的pid),我看到:140737488347112(whichinhexis:0x7fffffffdfe8).为什么我们从gdb中看到了不同的当前堆栈指针值。而且,为什么gdb将rsp的内容显示为NULL(0x00000000)?谢谢。

c - 从/proc/pid/stat 检索当前堆栈指针

我正在使用gdb执行一个基本的C程序。我在main()的开头有一个断点。运行代码后,gdb按预期在main()处中断。现在,如果我检查堆栈指针寄存器(rsp),我会看到0x7fffffffe170:0x00000000.当我使用cat/proc/17232/stat|检索相同的信息时cut-d""-f29/proc(其中17232是此进程的pid),我看到:140737488347112(whichinhexis:0x7fffffffdfe8).为什么我们从gdb中看到了不同的当前堆栈指针值。而且,为什么gdb将rsp的内容显示为NULL(0x00000000)?谢谢。

linux - "start-stop-daemon: unable to stat"

我有以下启动停止脚本:NAME="examplestartstop"PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/node/bin"LOGFILE="/var/log/$NAME/start-stop-daemon.log"APP_DIR="/usr/bin"APP_BIN="tail-250f/var/log/apache2/error.log"USER="minecraft"GROUP="minecraft"#Includefunctionsset-e./lib/lsb/init-fu