Articles of linux

上传速度高峰:尝试增加到100%,然后再次下降

我正在上传一个大文件。 http://www.picamatic.com/show/2011/04/01/08/14/7451826_bigthumb.jpg 问题是:上传速度跳到134 KiB / s(≈100%的带宽),然后立即回到67 Kib / s(≈我的bW的50%):每3秒尝试增加和回落。 我的上行链路是1 Mibit / s,但我不能使用它。 我的连接是稳定和工作,服务器是好的:同样的事情发生在上传到其他主机,但不下载。 Skype上行stream量也是稳定的:也许,因为它不使用整个BW。 我的示意图'traceroute':[PC]→[Switch]→[ADSL Modem,NAT]→(Internet) 到底会发生什么? UPD :现在,MTU全部在我的networking上,等于ISP的MTU。 问题依然存在。 UPD2 :随着MTU <= 600的速度不断在50%BW,没有尖峰

如何解释ByteMARK / nbench结果?

作为服务器老化过程的一部分,我正在运行nbench(BYTEmark)。 结果在结果中显示两个浮点索引和两个INTEGER索引,一个在“原始字节标记”下,另一个在“下面的Linux数据”下。 哪个是“真实”的分数? 为简洁起见,删除了一些行的结果在哪里: TEST : Iterations/sec. : Old Index : New Index : : Pentium 90* : AMD K6/233* ——————–:——————:————-:———— NUMERIC SORT : 1392.4 : 35.71 : 11.73 STRING SORT : 175.36 : 78.36 : 12.13 BITFIELD : 5.6922e+08 : 97.64 : 20.39 FP EMULATION : 195.48 : 93.80 : 21.64 FOURIER : 32758 […]

使用HTTP / FTP共享数据?

我有20 machines的networking,运行Ubuntu 10.04。 每台机器都有大约200 [GB]的数据,我想与其他19 machines共享,以便读取目的 。 阅读应尽可能以最快的方式完成。 一位朋友告诉我看看build立HTTP / FTP。 它确实是在机器之间共享数据的最佳方法(比NFS更好)? 如果是的话,我该怎么办呢? 有一个python模块,可以帮助访问/读取数据? 更新 :只是为了澄清,我想要的是能够(从机器X )访问机器的文件之一,并将其​​载入内存。 所有的文件大小一致(500 [KB])。 哪种方法最快(SAMBA / NFS / HTTP / FTP)?

SSH限制?

我有一个100台机器的networking。 可以同时连接到一台机器的机器数量有限制吗? 例如,我可以让我的99台机器与第100台机器保持连续的ssh连接吗? 我可以让我的每台机器(100台机器中的每台机器)与其他99台机器保持连续的ssh连接吗? 每个这样的连接需要多less内存?

浏览inheritance的服务器

我们inheritance了一系列有多个系统的服务器,都运行着CentOS。 一堆这些都没有得到充分利用,可能没有比怠速做得多。 无论如何,偶尔会有脚本或数据库被访问的可能性。 我想看看这些服务器到底在做什么 – 正在运行哪些脚本以及哪些数据库正在被访问等等。您将如何去探索一个inheritance的系统,以确切地看到正在运行/访问什么?

版本控制具有不同家庭名称的configuration文件?

我最近决定使用版本控制系统在我的不同的Linux安装之间共享我的configuration文件。 在阅读了另一个关于这个主题的post之后,我打算用git来做。 我会把我的/ under修订控制与顶级.gitignore设置为*并手动添加我想跟踪的每个configuration文件(主要是从/etc/…文件)。 我不明白,是我如何处理不同的主目录。 举例来说,在机器AI上有/home/foo/.vimrc和在机器B上/home/bar/.vimrc ,我怎么能让git保持这两个文件在同一个版本控制仓库下? [更新] 我正在寻找一个非常轻量级的解决scheme,只是我需要(例如没有木偶或Cfengine)。 我正在考虑在/home/whatever/中创build一个.config文件夹,在这个文件夹中我将使用git存储库保留所有重要的configuration文件。 一个非常简单的脚本就可以从我的/etc/ , ~/… /etc/创build所需的符号链接。 还有其他build议吗?

Sudoersconfiguration为git提交后脚本允许参数

我们有一个需要用Git和Trac运行的git post-commit脚本,当有人提交一个被调用的钩子时,会运行这个命令: trac-admin /path/to/trac changeset added "reponame" $REV $ REV是dynamic的,取决于推送的版本。 问题是这个命令要求提交用户对trac数据库有写权限。 我们有很多用户提交,他们都在一个名为“git”的Linux组中,我可以在trac数据库文件(SQLite)上给rw这个组,然后它可以工作,然后在“git”组中的任何人都可以删除数据库。 它目前由www-data,www-data所有。 我添加了一个这样的sudoconfiguration行: %git ALL=(www-data) NOPASSWD: /usr/local/bin/trac-admin 这工作,它允许脚本工作,但是现在他们有trac-admin所有的选项,我想限制这个命令的访问,包括/path/到/ trac的参数,并改变设置添加。 我尝试添加一个Cmnd别名与/ usr / local / bin / trac-admin / path / to / trac changeset添加了“reponame”,但它不起作用,因为添加的$ REV正在打破它,而且不能dynamic添加到的/ etc / sudoers中。 有没有办法在Cmnd Alias中包含通配符来允许它在sudoers中工作?

添加了一个新用户来分组www数据和sudoers,仍然不知道为什么用户以root身份创build新的目录

我是Linux系统pipe理新手(处理用户和组),但作为开发人员,我确实有很多命令行经验。 现在,我试图确保我已经添加到我的Debian服务器在组www-data下的三个用户有适当和预期的权限。 目标是在/ var / www / html /中的所有目录www-data:www-data(我认为这就是我想要的至less…我这样做,所以我没有混合权限之间在root和www-data下创build的东西)。 我用三个新用户添加到了sudoers文件中,这个选项和root一样。 现在我不知道如何去考虑用户,我需要一些指导。 例如,当我以developer1身份login并发出命令mkdir时,它告诉我我没有相应的权限来执行此操作。 所以,我sudo键入我的用户的密码,然后mkdirtesting…,它显示为一个根目录作为所有者和根作为组的目录。 我怎样才能让developer1成为可以用www-data作为所有者和组创build目录的用户? 这是正确的方法来处理这个? 谢谢。

报告的带宽使用情况在iproute2和ifconfig之间有所不同

我的团队有一台服务器,用于使用FOG对我们的工作站进行映像。 我有点好奇,看看我们使用了多less带宽。 当我运行ifconfig eth0 ,TX / RX线路被读取 RX packets:166949376 errors:0 dropped:0 overruns:0 frame:0 TX packets:350126730 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:31757576798 (29.5 GiB) TX bytes:458006556301 (426.5 GiB) 但是当我运行ip -s link show eth0 ,等效的输出是 RX: bytes packets errors dropped overrun mcast 1693647583 166958818 0 0 0 18979 TX: bytes packets errors dropped carrier collsns […]

基于Linux的文件复制:文件级还是块级?

我目前正在重新devise我们的备份解决scheme,并希望对如何执行复制部分进行一些input。 我们有两个站点,一个比另一个大得多,我们需要备份。 我有两台Linux服务器可以通过NFS / iSCSI / SMB共享他们的卷(我还没有完全决定要使用哪一个)。 将存储在这些卷上的文件很可能是VMDK – 所以只有单个大文件 – 将包含使用VMWare Data Recovery或Veeam(还没有决定使用哪个)的备份。 现在来棘手的部分..我想复制这些VMDK的两个服务器。 所以服务器A将拥有自己的VMDK,服务器B将拥有自己的VMDK。 我是否应该使用像Rsync一样定期将文件复制到另一台服务器上,还是利用DRBD + GFS2之类的东西在块级别更改时更好地复制内容,从而为我提供主动/主动集群文件系统? 请记住VMDK在两个位置都不会被修改。 也就是说,服务器A永远不会修改主要位于服务器B上的VMDK,反之亦然 请让我知道,如果你需要更多的信息,并感谢您的任何input!