我发现 shell 命令的输出top是粗略了解机器健康状况的一种简单而熟悉的方式。我想top从一台机器上的微型 Web 服务器提供's 的输出(或与它非常相似的东西),用于粗略的监控目的。
有没有办法让 top 只写一次文本输出,而不需要格式化字符?我试过这个:
(sleep 1; echo 'q') | top > output.txt
Run Code Online (Sandbox Code Playgroud)
这似乎与我想要的很接近,除了 (1) 不能保证我不会得到多于或少于一屏的信息,以及 (2) 我必须去除所有终端格式字符。
或者是否有其他top类似命令列出机器范围和进程级内存/CPU 使用率/正常运行时间信息?
(理想情况下,我喜欢一种可移植到 Linux 和 Mac OS X 的策略,因为我们的开发人员使用 Mac,而我们的生产环境是 Linux。)
所以最近我发现有人在未经同意的情况下使用我的电脑,浏览文件夹等......
I could change all my passwords straight away, but I'm curious as the what the intruding party was looking for. So I would like to set up a trap ( evil grin ).
What software will monitor any activity on my computer? While I know that capturing my screen will work here. I'd rather use a logfile.
For example:
/var/log/activity.log
[1 Aug 2010 20:23] /usr/bin/thunar accessed /multimedia/cctv-records/
[1 Aug 2010 20:25] /usr/bin/mplayer accessed /multimedia/cctv-records/00232.avi
[3 Aug 2010 02:34] /usr/bin/thunderbird …
我找到了一个不错的监视器,它允许我记录单个进程的各种运行时数据。我正在寻找对带宽使用具有相同作用的等价物。理想情况下,该命令应类似于bwmon --pid 1 --log init.log. 有这样的吗?它可以在没有管理员权限的情况下运行吗?
我运行一个 Web 服务器(VPS 上的 Debian Squeeze),托管公司提供的图表一致表明,与传出流量相比,传入服务器的流量大约是服务器的两倍。我对此有点困惑,所以我想在机器上运行某种日志实用程序,不仅可以确认上传/下载数据,还可以通过所涉及的远程主机将它们分开,这样我就可以看看很大一部分传入流量来自一个特定来源。
我怀疑大部分传出流量都通过 Apache,但传入流量可能主要通过 Apache 或可能由其他脚本和 cron 作业主导,所以我更喜欢一种工具,可以在接口级别而不是 Apache 内部监控流量.
理想情况下,我想要一个可以运行几天的工具,然后返回并为传入和传出流量获得“每个远程主机的字节数”的输出。
使用标准的 Linux 工具和一些配置(如果是,如何?)或专业程序(如果是,是哪个?)
如果myfile随着时间的推移而增加,我可以使用每秒获得行数
tail -f | pv -lr > /dev/null
Run Code Online (Sandbox Code Playgroud)
它提供瞬时速度,而不是平均速度。
我怎样才能得到平均速度(即速度函数v(t)在监控时间内的积分)。
有没有一种方法来检查其行数一的bash脚本执行“现在”?
使用bash -x script.sh看起来很有希望;但是,我需要获取当前行号。
在搜索什么人能够监测perf_events在Linux上,我找不到什么Kernel PMU event是?也就是说,与perf version 3.13.11-ckt39该perf list节目的事件,如:
branch-instructions OR cpu/branch-instructions/ [Kernel PMU event]
Run Code Online (Sandbox Code Playgroud)
总的来说有:
Tracepoint event
Software event
Hardware event
Hardware cache event
Raw hardware event descriptor
Hardware breakpoint
Kernel PMU event
Run Code Online (Sandbox Code Playgroud)
我想了解它们是什么,它们来自哪里。我对所有人都有某种解释,但Kernel PMU event项目。
从perf wiki 教程和Brendan Gregg 的页面我得到:
Tracepoints是最清楚的——这些是内核源代码上的宏,它们是监控的探针点,它们是在ftrace项目中引入的,现在每个人都在使用Software 是内核的低级计数器和一些内部数据结构(因此,它们与跟踪点不同)Hardware event是一些非常基本的 CPU 事件,可以在所有架构上找到,并且内核很容易访问Hardware cache event是昵称Raw hardware event descriptor——它的工作原理如下
据我所知,Raw hardware …
几年前,一位同事为看门狗程序提出了一个优雅的解决方案。该程序在 Windows 上运行并使用Windows 事件对象来监视多个应用程序的进程句柄 (PID)。如果任何一个进程意外终止,它的进程句柄将不再存在,并且他的看门狗将立即收到信号。然后看门狗会采取适当的行动来“治愈”系统。
我的问题是,您将如何在 Linux 上实现这样的看门狗?有没有办法让单个程序监视许多其他程序的 PID?
是否需要访问硬盘驱动器还是所有操作都在内存中完成?基本上我想不断从 meminfo 和 cpuinfo 获取更新的值。
我是否需要重新打开文件然后重新读取才能获得更新的值,还是可以重新读取?我目前无法访问 Linux 安装。
是否可以在bash.
例如,我希望有一个特定的用户,无论何时运行命令,它总是用datebefore 和 after 或time.
这是可能的,如果是,如何?
monitoring ×10
bash ×2
linux ×2
logs ×2
alias ×1
bandwidth ×1
cpu ×1
date ×1
debian ×1
fifo ×1
forensics ×1
networking ×1
osx ×1
perf-event ×1
performance ×1
pipe ×1
proc ×1
process ×1
pv ×1
security ×1
shell-script ×1
tail ×1
time ×1
top ×1
webserver ×1