相关疑难解决方法(0)

这是 Linux 分页的行为方式吗?

当我的 Linux 系统接近分页时(即,在我的情况下,16GB ram 几乎已满,16GB 交换完全空),如果新进程 X 尝试分配一些内存,系统将完全锁定。也就是说,直到不成比例的页面数量(与 X 的内存分配请求的总大小和速率)被换出。请注意,不仅 gui 变得完全没有响应,而且甚至像 sshd 这样的基本服务也完全被阻止。

这是我用来以更“科学”的方式触发这种行为的两段代码(诚然粗糙)。第一个从命令行获取两个数字 x,y 并继续分配和初始化多个 y 字节块,直到分配的总字节数超过 x 为止。然后无限期地睡觉。这将用于使系统处于寻呼的边缘。

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>

int main(int argc, char** argv) {
   long int max = -1;
   int mb = 0;
   long int size = 0;
   long int total = 0;
   char* buffer;

   if(argc > 1)
     {
       max = atol(argv[1]);
       size = atol(argv[2]);
     }
   printf("Max: %lu bytes\n", max);
   while((buffer=malloc(size)) != NULL && total < max) {
       memset(buffer, …
Run Code Online (Sandbox Code Playgroud)

kernel swap virtual-memory

26
推荐指数
1
解决办法
937
查看次数

如何监听进程和串口之间的通信?

在 Gentoo Linux 机器上,一个进程通过串行端口 ( /dev/ttyS1)与另一台计算机通信。我想在不进一步干扰的情况下收听此通信(即进程发送/接收的内容)。

如何仅使用基本的 Linux 工具来实现这一目标?我什至可以更改进程正在与之通信的串行端口,所以也许我可以“快捷地”两个设备(/dev/ttyS1/dev/xxx)侦听所有通信,当所有输出/dev/ttyS1都转发到时/dev/xxx,反之亦然。但是我该怎么做呢?有什么socat

serial-port

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

标签 统计

kernel ×1

serial-port ×1

swap ×1

virtual-memory ×1