Articles of linux

套接字或消息队列安装平台

我试图开发一个带有主控制器和5个节点或者工人的系统,以跟踪下一个当前的IP。 我的问题是我应该用什么来实现这种configuration? 我应该去与Python套接字或消息排队? 主要的服务器任务是跟踪下一个IP地址。 基于DHCP租用。 如果新设备连接到我的networking,服务器将根据工作人员处理的最后一个IP地址自动获知IP地址。 如果新设备连接并获得IP 192.168.1.10则服务器将知道在设备正在处理之后,下一个要查找的IP地址是192.168.1.11 。 IP_Queued = [] // if there are multiple new devices connected it will append to queued. If a new device is connected new_ip+=1 new_ip = 192.168.1 +"."+str(current_ip) IP_Queued.append(new_ip) 如果安装失败,工作人员将通知服务器,服务器将把IP附加到队列中,就像没有IP地址被跳过一样。 每个工作人员的责任是configuration一个安装有预configuration文件的安卓盒子,每一次安装都是一样的。 我需要创build多个虚拟机来隔离Androiddebugging桥来同时进行多个安装。 谢谢

Postgresql计算内核共享内存?

我们正在运行PGSQL 9.2 ,以下是硬件规格 OS: CentOS7 64bit CPU: 24 Memory: 32GB Disk: SSD 我想计算shmmax / shmall值,那么最好的方法是什么? 我谷歌和人说50%的总内存。 但在我的箱子,我只有PGSQL运行,那么为什么不是总内存的80%? 我可以configurationkernel.shmmax 28GB吗? 并保持4G的Linux操作系统。 你有什么build议?

VirtualBox上的Ubuntu 14.04 Guest OS – 保持断开与networking的连接

作为Virtual Box 5.08上的客户,我正在运行Windows 7主机操作系统以及Ubuntu Linux 14.04 LTS。 在Virtual Box内部,在networking设置下,适配器1选项卡上设置了以下项目: 启用networking适配器已勾选。 附加到:NAT 连接的电缆也被选中。 没有任何设置在端口转发下。 会发生什么呢? 有时候,当我在Linux中使用Chrome打开一个网页时,连接似乎丢失,页面无法find。 它在浏览器里面声明: This webpage is not available DNS_PROBE_FINISHED_NO_INTERNET 当我点击Chrome上的刷新时,它会自动连接并启动页面。 它可以find页面,但最常见的是它只是断开连接并重新连接到Internet。 据说我的同事告诉我,他们看到我不断断开连接,并重新连接到Skype(我在Linux中使用)。 当我通过以太网和WiFi连接公司的networking时,会发生这种情况。 发出一个ifconfig: eth0 Link encap:Ethernet HWaddr 08:00:21:29:85:c6 inet addr:10.0.1.20 Bcast:10.0.1.250 Mask:255.255.255.0 inet6 addr: fe80::a00:27gg:fe27:78d6/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:17292 errors:0 dropped:0 overruns:0 frame:0 TX packets:12215 errors:0 […]

无法通过Webpipe理员门户和SSH访问ReadyNAS 1100

设备: ReadyNAS 1100 型号: RNR4000 当前的固件: RAIDiator 4.1.8 最新的固件: RAIDiator 4.1.14 购买date: 2011年12月(3.9岁) 我无法通过pipe理门户网站(又名“FrontView”)或SSH将我的ReadyNAS 1100访问到设备中。 股票可以通过SMB和AFP访问。 我几乎可以肯定,试图安装CrashPlan PRO是造成这个问题的原因。 我能够在我们的ReadyNAS 2100和ReadyNAS 4200上做到这一点,但在安装ReadyNAS 1100的过程中出现了明显的问题。 运行端口扫描显示端口22,80和443已closures。 说得通。 遵循这个NETGEAR支持文章,我启动到“技术支持模式”,并login: 用户名: root 密码: infr8ntdebug 一旦通过telnet,我不知道我能从这里做什么。 有没有我可以运行的命令或configuration文件,我可以编辑重新打开端口? 看起来像使用灰壳。 “帮助”只显示了一些可用的命令。 提前致谢。

奇怪的networking中断问题

在ifconfig输出我看到Interrupt 16但是当我检查/proc/irq/我没有看到16那里。 以下数字我在这里看到。 我的司机是broadcom tg3 [root@centos7 ~]# ls /proc/irq/*/eno1* /proc/irq/156/eno1-tx-0: /proc/irq/157/eno1-rx-1: /proc/irq/158/eno1-rx-2: /proc/irq/159/eno1-rx-3: /proc/irq/160/eno1-rx-4: 我有非常差的networking性能,所以检查NAPI的支持,发现奇怪的中断缺less这个:(

OOM评分调整

在Ubuntu 12.04 / Java 1.7上 我一直在阅读/search关于OOM杀手,一般了解“proc”手册页尤其是oom_adj部分。 这一切都开始,因为我的重要“MQ听众”被杀害。 我们有一个主监听器进程,它监听MQ消息,并使用相同的jar文件,不同的命令行参数产生一个新的作业。 它使用Runtime.getRuntime().exe来启动作业。 整个事情是作为一个非常低权限的用户运行的 – 一个没有任何其他权限的用户。 我担心的是监听器进程的OOM得分会不断增加,因为它会持续产生进程并最终被杀死,假设java exec调用在内部使用fork。 如何更改由低权限用户启动的进程的oom_adj值? 否则,这意味着所有可以部署jar文件的人都需要具有sudo权限。 有没有任何电话/档案可以用来让所有工作的OOM分数找出哪一个可能被杀死? 寻找与syslog文件中logging的内容相似的报告,但实际上并没有完成任务

DigitalOcean VM上的高IO等待时间

过去一年,我有一台运行Jenkins的DigitalOcean虚拟机,没有任何问题。 本周突然出现问题。 它开始于那一天,我注意到一些与apt相关的进程(我认为apt-check )挂起了100%的CPU使用率。 我重新启动机器,事情恢复正常。 但是,现在机器已经基本上变得不可用了。 SSH很慢,我几乎不能访问Jenkins的Web界面。 所以,我开始挖掘,看看是什么造成的问题。 检查IO使用情况 我注意到的最重要的事情是,当我的一个Jenkins工作正在运行时,IO利用率一直达到100%。 好吧,那有点奇怪。 我继续在机器上安装iotop,并看看是什么使用这么多的IO。 只是运行iotop没有显示太多。 但是,当我运行iotop –accumulated我注意到jbd2导致了很高的IO等待时间,却没有做太多的工作(几乎没有读/写操作)。 写testing 因此,我继续前进并进行了一些testing(closuresJenkins之后),以测量机器上的实际读/写性能。 阅读很好,但是写作很奇怪。 root@jenkins:~# dd if=/dev/zero of=/tmp/output bs=1G count=1 1073741824 bytes (1.1 GB) copied, 271.903 s, 3.9 MB/s 使用SSD存储的DigitalOcean VM似乎非常慢。 但是,为了确保我使用相同的规格(1G 30GB AMS3)运行相同的testing: root@gitlab:~# dd if=/dev/zero of=/tmp/output bs=1G count=1 1073741824 bytes (1.1 GB) copied, 36.9623 s, 29.0 MB/s 很明显,jenkins机器有点奇怪。 对我来说,这感觉就像一个硬件问题(一些非常轻的谷歌search关于jbd2 […]

无法获得Java应用程序使用systemd作为服务运行/启动

我正在尝试使用我的Centos 7上的systemd来启动一个Java应用程序(服务器)作为服务启动,但始终失败。 这是我的push.service [Unit] Description=b4xpush server After=syslog.target After=network.target [Service] ExecStart=/usr/java/jdk1.8.0_45/bin/java -jar /home/mike/push/PushServer.jar Type=simple Restart=on-failure [Install] WantedBy=multi-user.target 创build文件后,我开始使用 sudo systemctl start Push.service 但徒然 如果我手动运行它,java应用程序将运行正常: /usr/java/jdk1.8.0_45/bin/java -jar /home/mike/push/PushServer.jar 要么 java -jar /home/mike/push/PushServer.jar 我怎样才能让它运行? 最终目标是在服务器引导时启动它。 这可能是一个权限错误? 当我尝试创build这个我login为迈克,我有“sudo”权利。 该应用程序(jarfile)位于我的家庭文件夹,你可以在上面的服务文件中看到。 我已经尝试了所有我能想到的东西,但是我无法解决它并让它起作用。 有任何想法吗? 编辑:使用状态添加日志文件: [mike@vps ~]$ sudo systemctl status Push.service -l Push.service – b4xpush server Loaded: loaded (/etc/systemd/system/Push.service; disabled) Active: failed […]

tail / dev / stderr从supervisord php cli脚本中的错误

为了简单起见,我想知道是否有可能像通道一样访问STDERR。 我不希望数据logging到一个文件,然后尾部文件,因为我想发送的信息量将填补系统。 我只关心数据,当我想挖掘什么会发送到STDERR。 我认为有可能以某种方式尾巴/ dev / stderr,但这是行不通的。 我无法使用STDOUT的原因是脚本正在监视器中运行,任何发送到STDOUT的脚本都会被logging到监视器中的program.log文件中。 而且我已经输出了一些信息。 任何想法或想法如何完成这将是真正有帮助! 谢谢

临时主目录CentOS?

我想build立一个Linux机器,学生可以使用它来login和使用虚拟机。 我希望以下行为从头到尾发生。 这是一个教室环境,我不希望学生在注销/重启时坚持做出任何改变。 用户使用用户名/密码login。 用户在机器上执行他或她的工作。 用户注销或closures机器。 主目录恢复到已知或默认状态。 重复另一个用户。 有没有办法做到这一点,还有没有更好的方式来思考我失踪?