我有一个为Linux服务器编译的程序。它是用FORTRAN编写的,尽管我不认为这与这个问题特别相关。
在某种程度上,程序会发出open: No such file or directory。
然后终止。
问题是,我不知道程序试图打开哪个文件/目录。
如果有某种类似于ldd (但不是完全)的程序来运行来显示二进制可执行文件试图打开的文件,那就太棒了。
这样的东西存在吗?如果没有,是否有办法从Linux内核中获取这样的信息?
这两者有什么区别?手册页上写着:
-r Print a relative timestamp upon entry to each system call. This records the time difference between the beginning of
successive system calls.
-T Show the time spent in system calls. This records the time difference between the beginnin
我遇到了一个问题,我的mysql服务器陷入了基本操作永远挂起的状态。
$ mysql -ubuildbot -p -hdbserver
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7406
Server version: 5.5.9-log MySQL Community Server (GPL)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This sof
我有一个过程,似乎被困在一个有趣的方式。顶部显示如下:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
38984 gergely 20 0 332m 276 184 S 0.7 0.0 18:13.16 Holmake
79492 gergely 20 0 10.7g 6.5g 316 D 0.7 84.5 107:04.76 buildheap
构建堆总共使用了84.5%的物理内存和10.7GB的虚拟内存。这是在一台分配了8GB物理内存的机器上。但是进程本身
由于某种原因,我无法依附于我自己的过程?!如果我尝试将strace作为根用户,那么工作得很好。
$ ./list8 &
[1] 3141
$ child4 starts...
$ strace -p 3141
attach: ptrace(PTRACE_ATTACH, ...): Operation not permitted
Could not attach to process. If your uid matches the uid of the target
process, check the setting of /proc/sys/kernel/yama/ptrace
当我试图在vserver的网络接口上转储一些流量时,我会得到一个错误,我不允许这样做:
# tcpdump -p -i eth0
tcpdump: eth0: You don't have permission to capture on that device
(socket: Operation not permitted)
我猜问题在于,我的服务器提供者似乎使用了共享Linux内核的虚拟化解决方案(uname返回"2.6.33.7-vs2.3.0.36.30.4-netcup“作为版本)。
允许我从单个进程中转储传出流量的任何方式吗?
如何执行mpiexec (MPICH2,linux)启动的MPI并行作业的所有进程?
-o将混淆来自不同进程的输出
给一些编辑的附言:谁会认为MPICH is the name of the library. MPICH2 is a particular version.。mpich2实际上是MPICH2 is an all-new implementation of MPI,我有时不得不同时使用mpich和MPICH2。所以,我们不能用mpich代替mpich2。