找不到.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文件,我改到本地文件夹后就可以成功生成了,可能和文件夹的权限有关系。多谢你们的耐心回复!