Articles of Linux操作系统

各种java线程访问相同的variables

如果我有10个线程访问相同的variables(只读取它,而不是写),Java将允许这些读取variables同时或每个线程将排队阅读? 我对标准行为感兴趣,即没有特别小心访问variables。 该程序在Linux RedHat上运行。

将目录结构的一部分复制到新位置

我有一个相对较大的目录结构,在组织中非常一致,我需要将它的一部分复制到一个新的位置。 这是我有: ./dev /man <.txt files> /other dir /another dir ./mod /man <.txt files> /other dir /another dir ./blah /other dir /another dir 我感兴趣的是man目录中的.txt文件。 有些目录有/ man /,有些不是,就像上面的./blah一样。 我需要做的是用/ man /在新的位置重现目录结构: /opt/dev /man <.txt files> /opt/mod /man <.txt files> 我已经尝试了许多不同的查找,rsync,cp等变种,还没有find有效的东西。

数据库服务器中速率非常高的内存页面

在数据库服务器,服务器环境和观察结果中列出的非常高的页面费率如下所示: 服务器环境: 操作系统版本 – 红帽企业Linux服务器版本6.6(圣地亚哥)/系统信息 – Linux database.esewa.com.np 2.6.32-504.1.3.el6.x86_64#1 SMP Fri Oct 31 31 11:37:10 EDT 2014 x86_64 x86_64 x86_64 GNU / Linux RAM-32G(22G = MYSQL,2GB = MEMCACHE,其余部分给OS)HW-2Sockets – Intel(R)Xeon(R)CPU X5650 @ 2.67GHz存储 – 10K RPM磁盘海湾 观察记忆页面 假设PAGE IN值应该是0或者低,并且大于25表示非常高或者在压力下的存储器,并且可能是交换的前兆。 我已经在服务器的速度已经吸收了非常高的页面(最大180),但没有看到任何内存进程交换队列。 也有人注意到大多数99%的IO利用率,尽pipe其他指标是正常的(avg-cpu:%user(10.47)%nice(0.00)%system(0.63)%iowait(5.26)%steal(0.00)%idle(83.64)) 问题: 在这种情况下,这个假设是否合理? 我们是否分配了更多的内存给应用程序(即22G-MYSQL和2GB MEMCACHE)? 有人看到问题与MYSQL和MEMCACHE的组合非常高的页面(Max-180)在率? 庞大的页面可以帮助解决这个问题吗? 在这种情况下,大部分时间接近99%的设备利用率(iostat的%util)的行为是可以接受的吗? 如果有人为上述问题提供build设性和批判性答案,我将不胜感激。 提前致谢。

dynamic链接从静态libarary?

我目前正在尝试在我的Ubuntu 14.04机器上重buildFlightGear。 一切顺利,直到我决定构build需要Qt的fgrun 。 我决定编译Qt作为一个静态库,因为我不希望自build库超出系统上的任何一个。 我静静地在系统上构buildQt,如下所示: ./configure -static -opensource -nomake tests -gtkstyle -prefix /home/user/Qt/5.4/Src/qtbuild -no-rpath -no-compile-examples -system-proxies -skip qtwebkit -skip qtwebkit-examples -nomake tools -nomake examples -skip script -release -skip multimedia -verbose -l dl -skip location -skip multimedia -skip quick1 -skip quickcontrols -skip sensors -skip serialport -skip svg -skip tools -skip translations -skip wayland -skip webchannel […]

为什么`cd ..`反映符号链接遍历,而`ls ..`不是?

ls .. 意思是“列出上司的文件和目录”。 当我在符号链接之后改变目录时, ls ..不遵循符号链接。 它只是显示真正的上层目录。 例如,当目录结构如下时, r ┬ a – b – sub@ └ sub ( sub@是sub@的符号链接) 在cd a/b/sub之后的ls ..命令在r目录中给出文件,就像我在r/sub 。 不是b目录的。 但是cd ..命令带我到b目录。 如何使用ls命令在目录b显示文件?

计数器循环pipe道grep似乎意外地随机

尝试在5次迭代中让grep停止一个while循环,这样/ tmp / foo应该只有5行: n=1 while [ $n -le 2000 ] do echo $n n=$(( $n + 1 )) done | tee /tmp/foo | grep -q ^5 支票计数: wc -l < /tmp/foo 输出: 34 上面的重复运行每次最多返回不同的数字,但并不是非常随机的 – 在bash中运行5000次以上,例如1500秒左右运行5000次, 短跑运行157次106秒。 这些结果似乎比最初的实验更有趣。 这段代码发生了什么?

如何在没有yum,apt-get,make和ac编译器的系统中安装rpm …?

我有一个集群部署从谷歌容器引擎的所有我的docker集装箱部署,我想在群集中的一台机器上安装rpm。 但是没有一个机器有yum或者apt-get或者make或者ac编译器。 使用的图像是:gci-beta-55-8872-47-0 图像描述:谷歌,容器优化的操作系统,beta 55-8872.47.0,内核:ChromiumOS-4.4.4 Kubernetes:1.4.5docker:1.11.2

用特定文本运行“虚拟”后台命令

我正在寻找一个bash命令,我可以在后台运行一段时间(60秒),并且该命令将包含一个特定的文本string,我可以grep出ps命令。 恐怕我不能释放一个“虚拟”脚本,所以它必须是一个一行命令。 我试过了 echo "textneeded">/dev/null && sleep 60 & 但是,当然,我唯一能想到的是睡眠,因为回声一闪而过。 (其原因是将另一个脚本放在“testing”模式下,所以它不会创buildsubprocess,但是确保没有运行这些进程的其他function仍然可以find某些东西,因此等待。在一个bash脚本里。)

从pci- / pcie-card读取芯片ID

几个月前,我不得不写一个小工具来编写rtl8139卡的eeprom。 这基本上是剔除 /读写eeprom的rtl8139-diag工具。 这个工具必须扩展到现在可以编程rtl8101卡的eeprom。 这不是一个问题,因为eeprom的接口类似于rtl8139的接口。 其实唯一的区别就是eeprom文件的内容。 我想要实现的是一个自动检测,如果在给定的端口地址的卡是rtl8139或rtl8101,并select拟合的eeprom-dump,则会进行检查。 我不能通过读出eeprom来确定这些芯片的差异,因为要编程的卡是'virgin',eeprom的内容基本上是0xffff 。 我注意到,无论eeprom的内容是什么,Linux都会加载这些卡的适配驱动程序。 所以我想,我只需要读取卡的芯片ID。 我怎么做?

如何在linux / c ++中控制主音量?

具体来说,我使用的是Fedora 13,但是我相信Linux的所有Gnome-ish代码都是相似的。 我只需要能够使用C ++来调整主音量,并且完成如同在“系统托盘”中的扬声器图标上上下移动滑块一样的效果。 什么是最好的和最简单的方法来编码?