我带着我的双启动 Windows 10/Ubuntu 笔记本电脑旅行,并且通常对 WiFi 的访问相当有限。当我启动到 Windows 端时(甚至在睡眠一段时间后从睡眠中醒来),我经常会遇到一段低于预期的网络性能。
打开任务管理器,我通过“应用程序历史记录”看到一个叫做“卸载的进程”的东西通常在醒来后会挂在网络上几分钟。通过“挂钩”,我的意思是他们的网络使用与我打开的任何其他试图连续下载的东西同步增加。通常它会在几分钟后安静下来,但是当它处于活动状态时会非常烦人。连接到我的手机时情况更糟,从那时起我就为这项活动支付了真钱。
这是唤醒并使用“删除使用历史记录”将所有计数器归零后“应用历史记录”列表的典型截图:
这是“卸载的进程”停止使用网络后的一段时间,但最初唤醒后它与最高网络使用进程绑定。
这是一个新盒子,我已经卸载了它上面的十几个东西,但最近没有,而且自上次重新安装以来已经重新启动了很多。
我非常渴望任何关于如何追踪这个流氓过程的提示。
我认为我提出的 Web 服务器进程正在侦听 localhost:8080,并尝试连接到它,但一直收到连接重置错误。事实证明,我错了,我的进程正在侦听一个完全不同的端口。
然而,我无法理解的是为什么我会收到连接重置错误,而不是如果没有进程在该端口上侦听,通常会得到“连接被拒绝”。据我所知,在 8080 上没有其他东西可以收听:
$ sudo lsof -i -P | grep 8080
# no result
$ sudo netstat -a -n | grep 8080
# still no result
Run Code Online (Sandbox Code Playgroud)
然而,最初接受与此端口的连接(尽管在进一步数据时关闭):
$ /usr/local/bin/wget localhost:8080
--2014-01-14 16:29:22-- http://localhost:8080/
Resolving localhost... ::1, 127.0.0.1, fe80::1
Connecting to localhost|::1|:8080... failed: Connection refused.
Connecting to localhost|127.0.0.1|:8080... connected.
HTTP request sent, awaiting response... No data received.
Run Code Online (Sandbox Code Playgroud)
与 telnet 类似:
$ telnet localhost 8080
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to …Run Code Online (Sandbox Code Playgroud) 假设我申请(或已通过自动更新过程为我申请)微代码更新,该更新修复了例如我的 Skylake 芯片上的超线程错误。
这种更新是不可逆的,还是我以后可以切换回较早的微码?
我最近阅读了有关处理器(主要是多处理器)的文章,并且遇到了多级缓存的概念。在这种情况下,这些设计具有多个级别的缓存以提高性能。
但是,我无法弄清楚额外的缓存如何提高处理器的性能?为什么不增加现有缓存的大小呢?
使用时time some_executable- 返回的系统和用户 CPU 时间实际上包括由指定的可执行文件启动的任何子进程的所有 CPU 时间(这对我来说实际上是新闻)。
但是,我只想获取启动进程产生的 CPU 时间,而不是它的子进程。那可能吗?
默认情况下,xargs将连接其输入的许多行,然后传递给指定的命令。例如:
echo -e 'line 1\nline 2\nline 3' | xargs echo
Run Code Online (Sandbox Code Playgroud)
结果是
line 1 line 2 line 3
Run Code Online (Sandbox Code Playgroud)
由于参数被发送到单个 echo 命令(在命令行长度的限制内)。
有时您想使用替换字符串将参数放在命令中的其他位置,而不是末尾:
echo -e 'line 1\nline 2\nline 3' | xargs -Ix echo x DONE
line 1 DONE
line 2 DONE
line 3 DONE
Run Code Online (Sandbox Code Playgroud)
现在,xargs 每次 echo 调用只替换一个参数,因为正如手册页所说“-I 意味着 -L 1...”。这可能是典型情况下的正确行为,但是有什么方法可以覆盖它,以便我得到line 1 line 2 line 3 DONE输出吗?
请注意,我的示例只是说明性的 - 我对解决此问题的非 xargs 方法不太感兴趣。
QEMU-d asm_in和-d asm_out选项对于检查由 QEMU 创建的动态生成的 asm 很有用。
不幸的是(对我而言)它默认为 AT&T 语法。是否可以选择以 Intel 语法输出?
linux ×3
bash ×2
networking ×2
cache ×1
cpu ×1
macos ×1
netstat ×1
performance ×1
ports ×1
process ×1
qemu ×1
task-manager ×1
tcp ×1
time ×1
unix ×1
windows-10 ×1
x86 ×1
xargs ×1