我对特定应用程序中的每个线程当前的 cpu 使用情况感兴趣——准确地说是 cpu% 和 wait%。是否有可能从某个地方获取该信息?
我知道top
可以按真实线程(带有 pid 的线程)拆分信息,但它没有显示每个线程的系统/用户/等待 cpu 使用情况拆分。我还想要某种方式来记录该信息。您知道任何可以做到这一点的应用程序(或 API)吗?
我想弄清楚为什么kjournald
我的机器会发疯。这是一个带有大量内存的 8 核盒子。它有大约 50% 的 CPU 负载。
iotop 似乎没有指向任何特定的进程——这里和那里的一些突发写入(主要是 cron 启动,生成的一些监控统计信息等)当我过去sys/vm/block_dump
收集写入统计信息时,我得到了这样的列表:
kjournald(1352): 1909
sendmail(28934): 13
cron(28910): 12
cron(28912): 11
munin-node(29015): 3
cron(28913): 3
check_asterisk_(28917): 3
sh(28917): 2
munin-node(29022): 2
munin-node(29021): 2
Run Code Online (Sandbox Code Playgroud)
当kjournald
行动只是写道。
为什么会这样?我还应该注意什么来限制 kjournald 活动?这似乎与实际编写的内容不成比例。
我正在尝试加速用于开发/自动化测试环境的虚拟机的站立,并希望验证有关磁盘写入缓存的一些假设。
我ext4
用于 VM 中的根文件系统,我并不真正关心断电情况。如果断电和磁盘损坏,整个机器可以在几分钟内重建。对我来说,这意味着可以安全地应用以下选项,它应该对应用程序没有影响——它们只会影响缓冲数据写入磁盘本身的方式,但缓存的内存表示将始终准确:
这样对吗?是否还有其他 ext4 参数我应该查看以提高性能?
我正在寻找一种简单的方法来N
使用一个命令同时运行选定的进程。它应该将所有输出放在我的终端上,并在我退出时关闭所有输出ctrl+c
。是否有任何现有的应用程序可以做到这一点?
我在想一些事情exec_many 10 foo
- 它应该保持 10foo
秒的运行并重生任何死亡的人。
如何启用 haproxy 检查结果(或仅失败)的日志记录?我看到一些邮件列表帖子表明这是可能的:
Server LDAPSFarm/LDAPS1 is DOWN, reason: Socket error, check duration: 277ms. 1 active and 0 backup servers online. 0 sessions requeued, 0 total in queue.
Run Code Online (Sandbox Code Playgroud)
但我没有得到相同的结果。我的配置更多的是这样的:
global
log 127.0.0.1 local0
user haproxy
group haproxy
spread-checks 5
defaults
log global
mode http
option httplog
option dontlognull
retries 3
redispatch
maxconn 2000
stats enable
stats hide-version
option allbackups
listen XXX YYY
mode tcp
balance roundrobin
option httpchk /
server XXX-1 ZZZ1 check port 8080 inter 2s rise 15 …
Run Code Online (Sandbox Code Playgroud) 我想在state.highstate
运行期间从外部源下载谷物文件。该文件通常不应更改 - 我仅将其主要用于初始配置。
所以看起来我只想要一个file.managed
状态,将正确的内容放入_grains
(我使用独立客户端)然后调用saltutil.sync_grains
. 但是我如何调用一个函数呢?这将是一个已watch
配置的状态,但我没有看到可以帮助我做到这一点的状态。
我正在尝试在 Fedora 32 上使用几乎默认安装的 libvirt/kvm。
安装 libvirt 后,我正在尝试启动default
网络:virsh net-start default
.
但是由于某种原因,有许多链丢失了,所以它失败了。例如,libvirt 尝试加载的新规则开始于:
-A IN_libvirt_allow -p udp --dport 67 -m conntrack --ctstate NEW,UNTRACKED -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
但是没有IN_libvirt_allow
(或IN_libvirt_post
, FORWARD_OUT_ZONES
, ...)。
我确实有一些与 libvirt 相关的链,例如LIBVIRT_INP
/ LIBVIRT_OUT
,但我不确定哪些属于 libvirt,哪些属于 firewalld 以及它们应该如何协同工作。
我缺少什么设置?
我想将一系列 udp 端口限制为单个应用程序(或用户)。我想要实现的不仅仅是bind()
从其他 uid 中阻止 a ,而且还从可以自动分配的池中删除范围。
例如,如果有人试图明确绑定 12345,但没有运行指定的应用程序,他们应该获得 EPERM。如果有人试图绑定一个未指定的端口,他们不应该尝试随机绑定 12345。
有什么系统可以在这里提供帮助吗?我尝试浏览 apparmor / selinux 文档,但他们似乎只做阻止部分。
我想要 logrotate 创建具有好名字的文件。有没有办法在旋转后为名称强制某种模式?我想创建一种service-{year}-{month}-{day}-{hour}
格式并每小时轮换一次。
看来我正在运行一个版本dateext
,但没有dateformat
. 无论如何,我想使用这种记录方式。
我想创建一个执行块,该块仅在满足某些特定条件时运行(在这种情况下,如果存在接口wlan0
)。或者,我想notifies
在相同条件下阻止模板的子句。
我如何在食谱中描述它?我当然可以将整个条件放在execute
's 中command
,但我希望有更好的方法来实现这一点......
linux ×5
automation ×1
chef ×1
ext4 ×1
fedora ×1
filesystems ×1
haproxy ×1
kjournald ×1
libvirt ×1
logging ×1
logrotate ×1
monitoring ×1
networking ×1
performance ×1
pool ×1
port ×1
process ×1
restrictions ×1
saltstack ×1
threads ×1
tuning ×1