julia --track-allocation=user test.jl
test.jl
a = rand(1000, 1000)
b = rand(1000, 10000)
c = a*b
@info "done"
运行完上面的脚本后,我在test.jl所在的文件夹下没有发现.mem文件。希望有人能够解答我的问题,谢谢!
julia --track-allocation=user test.jl
test.jl
a = rand(1000, 1000)
b = rand(1000, 10000)
c = a*b
@info "done"
运行完上面的脚本后,我在test.jl所在的文件夹下没有发现.mem文件。希望有人能够解答我的问题,谢谢!
Allocation在top level global scope是不会显示的。
- function foo()
896 a = rand(10,10)
896 b = rand(10,10)
896 c = a * b
- end
-
- foo()
-
- a = rand(2,2)
我改成函数试了试还是没有.mem文件生成。这个文件确实是生成在和test.jl同一文件夹吗?我把我的平台信息贴在这里:
julia> versioninfo()
Julia Version 1.8.5
Commit 17cfb8e65e (2023-01-08 06:45 UTC)
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: 8 × 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-13.0.1 (ORCJIT, tigerlake)
Threads: 1 on 8 virtual cores
我在Win11和Ubuntu22上都试了,都可以在同一文件夹下面生成。在Win下面,
julia> versioninfo()
Julia Version 1.8.4
Commit 00177ebc4f (2022-12-23 21:32 UTC)
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: 12 × Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-13.0.1 (ORCJIT, skylake)
Threads: 1 on 12 virtual cores
我在CMD下面执行以下命令
D:\Computer>Julia --track-allocation=user test_mem.jl
会生成如下文件
01/30/2023 09:28 AM 87 test_mem.jl
01/30/2023 09:30 AM 178 test_mem.jl.11840.mem
test_mem.jl:
function foo()
a = rand(2,2)
b = rand(2,2)
c = a * b
end
foo()
a = rand(2,2)
# test.jl
a = rand(1000, 1000)
b = rand(1000, 10000)
f(a, b) = a * b
f(a, b)
@info "done"
在 mac 上测试无误,@fares 你单独开个文件夹,执行这几行命令看看
我重新做了测试,发现是文件夹的问题。之前的代码放在OneDrive同步的文档文件夹下,就无法生成对应的.mem文件,我改到本地文件夹后就可以成功生成了,可能和文件夹的权限有关系。多谢你们的耐心回复!