如何列出.so在python脚本上加载的文件?
如何列出python脚本上加载的所有.so文件(完整路径) 是否可以获取(例如)如何列出.so在python脚本上加载的文件?,python,linux,tensorflow,shared-libraries,Python,Linux,Tensorflow,Shared Libraries,如何列出python脚本上加载的所有.so文件(完整路径) 是否可以获取(例如)libcudart.so.10.1的完整路径? 是否可以获取已加载的.so(完整路径)的列表 例如,我正在跑步: python -c "import tensorflow as tf; tf.test.is_gpu_available()" 输出: 2019-09-27 15:02:27.186029: I tensorflow/stream_executor/platform/default/dso_loader
libcudart.so.10.1
的完整路径?
是否可以获取已加载的.so(完整路径)的列表
例如,我正在跑步:
python -c "import tensorflow as tf; tf.test.is_gpu_available()"
输出:
2019-09-27 15:02:27.186029: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcuda.so.1
2019-09-27 15:02:27.657901: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with properties:
name: TITAN RTX major: 7 minor: 5 memoryClockRate(GHz): 1.77
pciBusID: 0000:17:00.0
2019-09-27 15:02:27.658580: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 1 with properties:
name: TITAN RTX major: 7 minor: 5 memoryClockRate(GHz): 1.77
pciBusID: 0000:65:00.0
2019-09-27 15:02:27.658766: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcudart.so.10.1
2019-09-27 15:02:27.659868: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcublas.so.10
2019-09-27 15:02:27.661073: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcufft.so.10
2019-09-27 15:02:27.661305: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcurand.so.10
2019-09-27 15:02:27.662477: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcusolver.so.10
2019-09-27 15:02:27.663054: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcusparse.so.10
2019-09-27 15:02:27.665455: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcudnn.so.7
2019-09-27 15:02:27.667986: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1763] Adding visible gpu devices: 0, 1
2019-09-27 15:02:27.668031: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcudart.so.10.1
2019-09-27 15:02:27.669523: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1181] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-09-27 15:02:27.669535: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1187] 0 1
2019-09-27 15:02:27.669542: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1200] 0: N N
2019-09-27 15:02:27.669546: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1200] 1: N N
2019-09-27 15:02:27.674204: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow device (/device:GPU:0 with 22845 MB memory) -> physical GPU (device: 0, name: TITAN RTX, pci bus id: 0000:17:00.0, compute capability: 7.5)
2019-09-27 15:02:27.675838: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow device (/device:GPU:1 with 22823 MB memory) -> physical GPU (device: 1, name: TITAN RTX, pci bus id: 0000:65:00.0, compute capability: 7.5)
在Linux下运行时,根据您的环境,您可以使用以下选项之一获取信息:
作为替代方案,可以使用strace,但解析它的输出需要付出更多的努力。“stat”行可以提供关于每个库的搜索路径的信息。实际加载了。调用init的
行也是如此。
?似乎我也不能只对cuda相关的库进行grep,比如:LD\u DEBUG=libs python-c“将tensorflow导入为tf;tf.test.\u gpu可用吗()”| grep cuda
注意,LD_DEBUG的输出变成标准错误。grep的简单方法是将stderr放入一个文件(python…2>/tmp/myerr.out),然后grep您想要在/tmp/myerr.out中的库,其工作方式如下:CUDA\u VISIBLE\u DEVICES='1'LD\u DEBUG=libs python-c“import tensorflow as tf;tf.test.is\u gpu\u可用()”2>&1;grep CUDA
owner@vm1:~/Project/stackoverflow/58152351$ python
28796: find library=libc.so.6 [0]; searching
28796: search cache=/etc/ld.so.cache
28796: trying file=/lib/x86_64-linux-gnu/libc.so.6
28796:
28796: find library=libpthread.so.0 [0]; searching
28796: search cache=/etc/ld.so.cache
28796: trying file=/lib/x86_64-linux-gnu/libpthread.so.0
28796:
28796: find library=libdl.so.2 [0]; searching
28796: search cache=/etc/ld.so.cache
28796: trying file=/lib/x86_64-linux-gnu/libdl.so.2
...
>>> import json
28796:
28796: calling init: /usr/lib/python2.7/lib-dynload/_json.x86_64-linux-gnu.so
28796: