标签: monitoring

如何确定进程或机器何时受 IO 限制?

我有一个 node.js 进程,它写入许多不同的 sqlite 数据库。Sqlite 只能处理每个数据库一次并发写入,这很好,因为每个数据库一次只有一次写入,但同时写入多个不同的数据库。

我如何确定系统中的写入瓶颈在哪里: 1. 操作系统(Debian Wheezy) 2. SSD 3. Node.js

我认为 sqlite 不会成为瓶颈,因为每个数据库不会并发写入,但会同时写入不同的数据库。

编辑:我正在尝试确定边界因子,以便我可以决定何时扩展到新框,或添加更多 node.js 进程等。

performance monitoring io sqlite node.js

6
推荐指数
2
解决办法
2369
查看次数

在 Linux 'top' 命令中,有没有办法跟踪值?

我正在使用 Linux 的“top”命令来监视特定进程的 %CPU。由于值每隔几秒就会不断变化,有没有办法在单独的文件中或作为图形表示来跟踪值?是否可以使用任何 shell 脚本来做到这一点?

monitoring top shell-script

6
推荐指数
1
解决办法
4万
查看次数

在 Pi 上运行涉及 GPIO 的守护进程

我有一个守护进程,它使用 GPIO 端口监视各种事物。我已经使用 Python 使用 RPi.GPIO 模块为此编写了代码。

我想确保守护进程始终运行,即在崩溃后重新启动它并在系统启动时启动它(至关重要的是在任何用户登录之前——这个 Pi 无头运行)。有一个闪烁的 LED 告诉我它正在运行,但这并不理想。

我已阅读有关为此目的使用 MONIT 的信息,但我遇到了一些问题。到目前为止,我的尝试主要围绕这个解决方案:

/sf/ask/1641804111/

这是我的 bash 包装文件,名为 /home/pi/UPSalarm/UPSalarm.bash

#!/bin/bash

PIDFILE=/var/run/UPSalarm.pid

case $1 in
    start)
        #source /home
        #Launch script
        sudo python /home/pi/UPSAlarm/UPSalarm.py 2>/dev/null &
        # store PID value
        echo $! > ${PIDFILE}
    ;;
    stop)
        kill `cat ${PIDFILE}`
        # Proccess killed, now remove PID
        rm ${PIDFILE}
    ;;
    *)
        echo "usage: scraper {start|stop}" ;;
esac
exit 0`
Run Code Online (Sandbox Code Playgroud)

这是我的监控规则

check process UPSalarm with pidfile /var/run/UPSalarm.pid
   start = "/home/pi/UPSalarm/UPSalarm start"
   stop = "/home/pi/UPSalarm/UPSalarm …
Run Code Online (Sandbox Code Playgroud)

monitoring sudo python gpio

6
推荐指数
1
解决办法
797
查看次数

如何在ubuntu中查看程序使用的内存?

如何查看应用程序使用的原始内存数据?比如,假设我有一个文件名something.sh。现在我运行命令./something.sh,然后我想查看它在 ram 中访问的所有数据以及它在我的文件系统中访问的所有文件、网络数据或它使用的连接。可能是此应用程序使用的内存的十六进制转储。我可以在 ubuntu 中做到这一点吗?

linux process memory monitoring

6
推荐指数
1
解决办法
3983
查看次数

系统能耗监测

你知道有哪些监控系统功耗的应用程序吗?不仅仅是cpu,而是所有组件,最好是?


更新 - powertop&powerstat

我找到了powertop,但它并没有说太多。

在此处输入图片说明

我还发现了这个问题:功耗监控问题及其在 Ask Ubuntu 上的重复:https : //askubuntu.com/questions/291904/missed-power-est-column-in-powertop

答案是powertop在提供功耗计算之前需要几个小时来收集数据。(grochmal在他的评论中也提出了这一建议。)但鉴于我发现powertop在后台运行的内容,这可能不是全部事实。

$ sudo powertop &
[1] 20744
tomasz@tomasz-Latitude-E4200:~$ Loaded 0 prior measurements
Cannot load from file /var/cache/powertop/saved_parameters.powertop
File will be loaded after taking minimum number of measurement(s) with battery only 
RAPL device for cpu 0
RAPL device for cpu 0
RAPL device for cpu 0
Devfreq not enabled
Cannot load from file /var/cache/powertop/saved_parameters.powertop
File will …
Run Code Online (Sandbox Code Playgroud)

monitoring power-management

6
推荐指数
1
解决办法
9525
查看次数

用于监控服务器的最佳/好工具,带有 Web 界面?

我对 Linux 还很陌生,我正在寻找一种具有 Web 前端的监控工具。专门寻找以下方面的统计数据:

  • 存储空间,已用/免费
  • CPU 活动
  • CPU 温度
  • 内存使用

我对服务器监控软件的所有期望,能够根据高 CPU 温度等因素发送电子邮件将是一个奖励。

理想情况下,我想找到一些免费和开源的东西,但如果值得的话我会付费。

有人有什么建议吗?

谢谢

史蒂夫

linux ubuntu monitoring

6
推荐指数
2
解决办法
1万
查看次数

如何找到哪些程序正在读取我的文件?

我有一个配置文件,想了解哪些可执行文件正在使用它(如果有)。我想知道谁是这个文件的读者。

如果我watch有一些间隔,我会想念它,因为读取发生得如此之快:

watch -d -n 1 "lsof /home/me/my.conf"
Run Code Online (Sandbox Code Playgroud)

如果我尝试执行该程序,我很确定在 的支持下使用它strace,它会由于strace引入的额外延迟而失败。

strace -o /tmp/$(date +%s)_myprog.trace myprog
Run Code Online (Sandbox Code Playgroud)

我怎样才能可靠地证明myprog没有读取这个文件?

linux monitoring lsof files

6
推荐指数
1
解决办法
335
查看次数

性能监控

是否有一些性能监控工具可以在后台运行,收集有关所有系统活动的信息?有时我的系统(Arch linux,32 位)速度非常慢,并且该top实用程序不显示任何内容。

我想象一些守护进程会收集信息并记录它,所以当减速消失时,我将能够找到问题所在。

performance cpu monitoring io

5
推荐指数
1
解决办法
574
查看次数

测量 Python 脚本带宽使用情况

我有一个python脚本,用于urllibs解析一些网页,并使用selenium用javascript抓取页面,我想知道它的累积带宽使用情况。我看过 nethogs,但它告诉我每秒的使用情况,但不会告诉我脚本在 eth0 上接收或发送了多少数据,例如。

理想情况下,我希望它在我开始监控后跟踪所有新进程,然后保留每个进程使用的总数的表格。

有这样的工具吗?如果没有,我可以在脚本中实现 Python 中的库来跟踪它吗?

monitoring python bandwidth

5
推荐指数
1
解决办法
5204
查看次数

/proc/self/stack 和 pstack 的输出有什么区别?

我一直在查看 /proc 的文档,并且“堆栈”对象是 proc 中的一个新对象,我还查看了内核提交以创建它——但是文档没有详细说明 / proc/self/stack 文件——并且因为我直觉地认为它是进程的实际堆栈——但是旧pstack工具给出了不同(并且更可信)的输出。

因此,作为 bash 堆栈的示例

$ cat /proc/self/stack 
[<ffffffff8106f955>] do_wait+0x1c5/0x250
[<ffffffff8106fa83>] sys_wait4+0xa3/0x100
[<ffffffff81013172>] system_call_fastpath+0x16/0x1b
[<ffffffffffffffff>] 0xffffffffffffffff
Run Code Online (Sandbox Code Playgroud)

并且,使用 pstack

$ pstack $$
#0  0x00000038cfaa664e in waitpid () from /lib64/libc.so.6
#1  0x000000000043ed42 in ?? ()
#2  0x000000000043ffbf in wait_for ()
#3  0x0000000000430bc9 in execute_command_internal ()
#4  0x0000000000430dbe in execute_command ()
#5  0x000000000041d526 in reader_loop ()
#6  0x000000000041ccde in main ()
Run Code Online (Sandbox Code Playgroud)

地址不同,显然符号根本不一样......

有没有人对差异和/或描述 /proc-stack 中实际显示内容的文档有解释?

debugging kernel monitoring proc linux-kernel

5
推荐指数
1
解决办法
3886
查看次数