我正在尝试诊断进程中的内存泄漏,并寻找一种工具来绘制其随时间变化的内存使用情况。
Linux 上是否有任何工具支持类似于 Windows PerfMon 形式的图表?
我尝试使用IBM虚拟助手,但它只能在32位上运行,而我有64位平台。
谢谢。
我在正确配置 Apache mod_proxy.so 以便按需要工作时遇到很多麻烦......
主要思想是在网络中的本地计算机上创建一个代理,该代理将能够在 PHP 中处理客户端请求(通过 Apache 准备的代理连接的客户端)。而且,它也有能力处理 PHP 上的服务器响应。
这是两个功能,它们彼此独立。
让我介绍一下我需要实现的目标:

正如您在这里看到的,有两种方法:蓝色一种和红色一种。
对于蓝色的,我基本上连接了本地网络(家庭)上的客户端(机器 B - 手机),并将其配置为通过代理,即同一网络上的机器 A(个人计算机)。
所以我们可以说(不是 DHCP):
机器 A: 192.168.1.40 --> Apache 正在该机器上运行,并配置为侦听端口 80。
机器 B(手机): 192.168.1.75 --> 配置为通过代理,即 IP 192.168.1.75 和端口 80(基本上是机器 A)。
正确配置 Apache 后,基本上是从 httpd.conf 中删除 mod_proxy.so(主要工作程序)、mod_proxy_connect.so(SSL、allowCONNECT,...)和 mod_proxy_http.so(需要处理 HTTP 请求/响应),在我的例子中,有这样的行:
# Implements a proxy/gateway for Apache.
Include "conf/extra/httpd-proxy.conf"
# Various default settings
Include "conf/extra/httpd-default.conf"
# Secure (SSL/TLS) connections
Include "conf/extra/httpd-ssl.conf"
Run Code Online (Sandbox Code Playgroud)
这使我能够配置文件 httpd-proxy.conf 来准备正向代理或反向代理。
所以我不确定我需要的是正向代理还是反向代理。
对于转发代理,我这样做了:
<IfModule proxy_module>
<IfModule proxy_http_module>
#
# FORWARD Proxy …Run Code Online (Sandbox Code Playgroud) 我有一个在嵌入式 Linux 系统上运行的二进制进程(没有可用的源)。该进程会打开一个日志文件 (/tmp/dmaosd.log),在其中记录其正在执行的操作。
问题是日志以块的形式更新(一次大约 1000 个字节),所以我无法使用 tail -f 实时查看日志。
我想知道是否有任何方法可以强制正在运行的进程刷新其数据(基于访问 /proc/1234/fd/3)而无需访问其源并且不向其发送任何信号(我不确定是什么信号它支持也不支持他们应该做什么)。
所讨论的过程是媒体播放器的 OSD,日志信息通常显示屏幕上选择/显示了哪些元素,因此最好尽快获得数据。
谢谢!
是否有 TaskKill.exe 的已知退出代码(错误级别)列表?这是否因 Windows 版本而异?我最关心的是 Windows 7 和 server 2008r2。
似乎我的服务器由于使用了过多的 RAM 而杀死了一个进程。这可能吗?如果它可以发生,我怎么知道它杀死的时间和进程?
我的机器上运行着一个冗长的 python 脚本:
[root@server1]# ps aux | grep python
root 30640 15.6 0.6 296416 102444 pts/4 S+ 11:29 2:38 python my_script.py
Run Code Online (Sandbox Code Playgroud)
但我现在正在笔记本电脑上远程工作,并希望查看该脚本的输出。我通常只是命令tail的输出文件tee,但这不起作用。
所以我下载了这个名为ttylog(http://search.cpan.org/~bbb/ttylog-0.83/ttylog)的程序来查看该过程的输出。这看起来相当简单,所以我已经 ssh 进入server1并运行:
[root@server1 ttylog-0.83]# ./ttylog pts/4
DEBUG: Scanning for psuedo terminal pts/4
DEBUG: Psuedo terminal [pts/4] found.
DEBUG: Found parent sshd pid [28198] for user [root]
Process 28198 attached - interrupt to quit
Run Code Online (Sandbox Code Playgroud)
但这是错误的过程 - 所以我没有得到任何输出。
我需要它附加到进程 30640,即 python 进程。有谁知道如何做到这一点?
出于某种原因,我的 cron 作业脚本没有完全退出,它们正在备份我的服务器。目前有几百个进程在为我的一个用户运行。我可以使用以下命令杀死该用户的所有进程,但是如何简化它以仅杀死 cron?
pgrep -U username | while read id ; do kill -6 $id ; done
Run Code Online (Sandbox Code Playgroud)
按原样运行上述命令会很危险,对吗?这不会杀死 mysql 和其他重要的东西吗?
在 server 2008 R2 中,如果我以管理员模式运行应用程序,子进程是否仍处于相同模式?
我提出这个问题是因为我怀疑应用程序的子进程没有在管理员模式下运行。
考虑"ps auxwww"输出中的以下几行:
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 4262 0.0 0,1 76592 1104 s005 Ss 10:02am 0:00.03 login -pf yo
yo 4263 0.0 0,0 75964 956 s005 S 10:02am 0:00.03 -bash
Run Code Online (Sandbox Code Playgroud)
如何强制ps将 COMMAND 列中的所有命令扩展为其完全限定的路径名?我希望将登录解析为 /usr/bin/login 并将 Bash 解析为 /bin/bash。
是否有与Mac OS X 中的procfs等效的东西?也就是说 - 是否有基于文件的机制来轻松获取进程信息?
如果我从 ps 得到如下输出,有没有办法确定“blah”在文件系统上的位置?对于我的特殊情况, -p 指定应用程序应该运行的端口。
user 22913 22470 0 09:58 ? 00:00:06 ./blah -p 12345
Run Code Online (Sandbox Code Playgroud)
我的问题基本上是在给定应用程序的 PID 或端口的情况下是否可以找到可执行文件的位置。使用的发行版是 Redhat。