在我的一个 Raspberry PI 上,我在登录后收到以下警告:系统信息因负载高于 4.0 而被禁用
但是 top 并没有反映这一点(见截图),我错过了什么吗?
我想将 top 命令中的内存使用情况作为默认值进行排序。这样我就不必在每次运行 top 命令时都进行排序。
怎么做?
提前致谢....
我想检查我的 Python 脚本正在使用多少个内核。
假设我有这个代码:
while True:
print('Hello World!')
当我运行时top
,它会提供 CPU、内存、百分比以及其他信息,但不提供核心 ID 或进程正在使用的核心数量。
top - 11:44:15 up 1 day, 23:08, 1 user, load average: 2.88, 2.39, 2.15
Tasks: 289 total, 5 running, 238 sleeping, 0 stopped, 0 zombie
%Cpu(s): 55.2 us, 31.8 sy, 0.0 ni, 12.8 id, 0.0 wa, 0.0 hi, 0.2 si, 0.0 st
KiB Mem : 7945496 total, 1027328 free, 4707680 used, 2210488 buff/cache
KiB Swap: 15999996 total, 14991876 free, 1008120 used. 2615420 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
15336 lenovo 20 0 4393044 470488 192616 S 8.6 5.9 148:18.31 firefox
4412 lenovo 20 0 4521092 437940 65416 R 15.6 5.5 87:58.54 gnome-shell
4221 root 20 0 561840 82500 45652 R 9.9 1.0 84:25.21 Xorg
15395 lenovo 20 0 3871472 319376 151876 S 0.0 4.0 83:57.26 Web Content
2838 lenovo 20 0 3993616 823816 158412 R 68.5 10.4 36:28.10 Web Content
4435 lenovo 9 -11 2915368 11596 8836 S 0.3 0.1 35:46.08 pulseaudio
3342 lenovo 20 0 3060860 324000 127948 S 8.6 4.1 27:53.92 atom
29632 lenovo 20 0 3717204 750864 152688 S 10.3 9.5 22:25.05 Web Content
15443 lenovo 20 0 3273020 245772 50128 S 2.3 3.1 19:49.64 WebExtensions
3293 lenovo 20 0 1291576 215972 112612 S 4.6 2.7 15:38.90 atom
3319 lenovo 20 0 734208 226016 104340 S 5.6 2.8 14:52.60 atom
1446 root -51 0 0 0 0 S 1.0 0.0 14:21.71 irq/132-nvidia
16083 lenovo 20 0 446420 35468 27844 S 1.3 0.4 11:06.27 RDD Process
29733 lenovo 20 0 3537988 363160 235184 S 0.0 4.6 9:29.13 Web Content
29780 lenovo 20 0 3414220 363812 174640 S 0.3 4.6 7:50.64 Web Content
29570 lenovo 20 0 3068760 245412 125788 S 0.3 3.1 4:14.76 Web Content
1733 gdm 20 0 3464584 75712 45704 S 0.0 1.0 4:08.74 gnome-shell
我做了一些谷歌搜索,我发现了这个命令:
watch -tdn0.5 ps -mo pid,tid,%cpu,psr -p \`pgrep python\`
哪个输出:
PID TID %CPU PSR
15329 - 95.2 -
- 15329 95.2 1
好吧,我不确定前面的命令是否真的有效。
如果有人能给出解释,我将不胜感激。
编辑:
我使用的是 Ubuntu 18.04 桌面版。
内核版本:
4.15.0-99-generic #100-Ubuntu SMP Wed Apr 22 20:32:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
由于我的笔记本电脑(Dell Precision 16Gb,ubuntu 18.4)比平时慢,所以我查看了top
. 这里我有一个过程,叫做frontend
pegging 50% of CPU。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7189 root 20 0 111508 22584 7440 S 44.9 0.1 0:12.23 frontend
我不知道它可能是什么,而且它不是我的用户启动的过程,因为ps -u
whoami| grep frontend
什么也没返回。重新启动后它也在那里,并kill 7189
要求我获得超级用户许可,这就是为什么我认为简单的sudo kill
方法不能解决问题的原因。虽然我还没有尝试过。
任何人有任何帮助,建议,想法关于做什么?有人听说过会导致这种情况的病毒吗?
我的 Postfix 服务的状态是systemctl status postfix
:
● postfix.service - Postfix Mail Transport Agent
Loaded: loaded (/lib/systemd/system/postfix.service; enabled; vendor preset: enabled)
Active: active (exited) since Sat 2020-01-11 15:31:02 CET; 14min ago
Process: 16694 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 16694 (code=exited, status=0/SUCCESS)
我假设服务的进程是16694。
但我看不到这个过程使用top
或ps aux
例子:ps aux | grep post
root 16693 0.0 0.4 43472 4404 ? Ss 15:31 0:00 /usr/lib/postfix/sbin/master -w
postfix 16695 0.0 0.6 43408 7088 ? S 15:31 0:00 pickup -l -t unix -u -c
postfix 16696 0.0 0.6 43460 7044 ? S 15:31 0:00 qmgr -l -t unix -u
root 16760 0.0 0.0 6080 828 pts/0 S+ 15:49 0:00 grep post
root 18447 0.0 0.4 18616 4212 ? Ss Jan07 0:00 /usr/sbin/saslauthd -a pam -c -m /var/spool/postfix/var/run/saslauthd -n 5
root 18448 0.0 0.4 18616 4120 ? S Jan07 0:00 /usr/sbin/saslauthd -a pam -c -m /var/spool/postfix/var/run/saslauthd -n 5
root 18449 0.0 0.4 18616 4212 ? S Jan07 0:00 /usr/sbin/saslauthd -a pam -c -m /var/spool/postfix/var/run/saslauthd -n 5
root 18450 0.0 0.0 18364 924 ? S Jan07 0:00 /usr/sbin/saslauthd -a pam -c -m /var/spool/postfix/var/run/saslauthd -n 5
root 18451 0.0 0.4 18616 4120 ? S Jan07 0:00 /usr/sbin/saslauthd -a pam -c -m /var/spool/postfix/var/run/saslauthd -n 5
为什么是这样?
我有一个服务器,其中有 144 个 proc,并且被多个具有相同帐户 ID 的人使用。有什么方法可以查看有多少处理器空闲(在终端中),以便我可以安排我的程序以适当数量的 proc 运行?top
确实给了我列表,但我无法向下滚动并查看(类似)> 31 procs 何时忙碌。服务器位于防火墙后面,因此安装htop
也不是一种选择。我看到了如何查看有多少个处理器内核在工作?但这并没有太大帮助。taskset
这里提到的命令给了我一个bad usage
错误。有什么帮助吗?
当我运行时top
,我会看到 Linux 进程列表。但是当我按下时Enter,它会改变,我不明白会发生什么。
另外,当我按下其他按钮f时,g会h发生一些事情。请为我解释一下这些控件是做什么的?这些会损坏我的操作系统吗?
使用该top -b -n1
命令,我可以获得系统用于该实例的资源。但是,我实际上需要它的特定值。我需要诸如总体 CPU 使用率、总体内存使用率以及使用该实例的 cpu 资源的前 5 个进程。目前我能够找到:
CPU使用率:top -b -d1 -n1|grep -i 'Cpu(s)'|head -c21|cut -d '' -f3|cut -d '%' -f1
前 5 名流程:ps aux | sort -nrk 3,3 | head -n 5
我无法为 Ram 的使用找出一些东西。我正在尝试类似于 Cpu 使用命令中的命令,但它什么也没给我。坦率地说,我无法正确地把它剪掉。一些帮助检索,表示赞赏。
额外帮助:另外,基于相同的理由,是否可以获得系统的mac地址。就像一个命令可能只返回我的 mac 地址,而不是我需要操作的 100 行。
感谢您的帮助。
我的机器一直使用命令“java”(在顶部的“command”列下列出)启动进程,这些进程会在几秒钟内耗尽我所有的资源,然后消失,几秒钟后一个新的将启动,不同的PID。
我想知道是什么启动了这些 java 进程。
我从执行 top -> c 获得了一些信息,它显示了 java 进程完整命令:
11470 尼尔 20 0 4616088 2.134g 19156 S 121.9 57.1 0:04.20 /opt/jdk-11.0.1/bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFr+
然而,这对我来说没有任何意义。不知道有没有帮助。
我已经尝试过的其他答案和事情:
我已经看到了这个答案如何找到进程的起源并永久停止它?其中提到找到 proc/PID 目录。其他几个类似的问题也给出了这个建议。但这对我没有帮助,因为 PID 不断变化。
我已经尝试过ps aux | grep java
,但这仅显示 grep 本身:
neil~$ ps aux | grep java
neil 8539 0.0 0.0 14224 928 pts/19 S+ 22:20 0:00 grep --color=auto java
我试过killall java
这确实杀死了当前的 PID,但几秒钟后下一个开始......
我最初认为这是因为我安装了 Cisco AnyConnect(请参阅帮助卸载 3rd 方软件)。我假设的原因是:a)问题在我安装 AnyConnect 时开始,b)当我能够在 java 进程消失之前杀死它时,我能看到的唯一受影响的程序是 AnyConnect,它停止渲染大部分 UI . 现在我不确定,因为我卸载了 AnyConnect,但问题仍然存在。