Questions tagged «performance»

程序运行的速度

2
为什么高磁盘I / O会降低系统响应速度/性能?
我从未完全理解为什么高磁盘I / O会导致系统速度如此之慢。对我来说这很奇怪,因为我希望减速只会影响那些依赖于硬盘/光盘数据的进程,但是减速甚至会影响加载到RAM上的内容。我在这里指的是iowait。 为什么处理器要等待而不是做其他工作?谁能解释这个限制以及为什么Linux内核没有解决这个限制?是否有没有这个问题的内核? [ note ] 在此性能领域中已经取得了一些进展。一方面,后面的内核(在我的例子中为2.6.37)响应更快。
19 linux  kernel  performance  io 

3
echo vs <<<,还是Bash Award中无用的echo?
到目前为止,cat奖的无用使用是众所周知的,并且还提到了无用的使用echo(与该问题无关)。我想知道是否应该有“无用的echoBash奖”:根据一些非常不科学的测量,管道似乎比heredocs和herestring慢得多: Heredocs: for reps in 1 2 3 do time for i in {1..1000} do cat &lt;&lt;'END' test string END done &gt; /dev/null done real 0m1.786s user 0m0.212s sys 0m0.332s real 0m1.817s user 0m0.232s sys 0m0.332s real 0m1.846s user 0m0.256s sys 0m0.320s 串 for reps in 1 2 3 do …

4
为什么kworker在Linux 3.0.0-12服务器上消耗了这么多资源?
上周五,我将Ubuntu服务器升级到11.10,该服务器现在运行3.0.0-12服务器内核。从那以后,整体性能急剧下降。升级之前,系统负载约为0.3,但在8核CPU系统上,它的负载为22-30(16 GB RAM)(10GB可用空间,不使用交换空间)。 我要怪BTRFS文件系统驱动程序和底层MD阵列,因为[md1_raid1]和[btrfs-transacti]消耗了很多资源。但是所有的[kworker / *:*]消耗更多。 sar 自周五以来一直不断输出类似的结果: 11:25:01 CPU %user %nice %system %iowait %steal %idle 11:35:01 all 1,55 0,00 70,98 8,99 0,00 18,48 11:45:01 all 1,51 0,00 68,29 10,67 0,00 19,53 11:55:01 all 1,40 0,00 65,52 13,53 0,00 19,55 12:05:01 all 0,95 0,00 66,23 10,73 0,00 22,10 并iostat确认写入速度非常差: sda …
19 kernel  performance  cpu  load 

2
对LVM2逻辑卷进行碎片整理
问题:是否有工具支持对LVM2逻辑卷进行碎片整理?(将范围扩展为一致的顺序) 最好通过定义扩展区的所需顺序(类似于“在磁盘的开头分区A,在A之后的B,但在PV的末尾是X”) 当然,必须考虑以下情况: VG由一个PV组成 VG由许多PV组成,但是每个LV都位于一个PV上 VG由许多PV组成,LV在许多PV中具有其范围 可以讨论是否可以删除分区。 专有技术:可以使用来移动范围的范围pvmove,例如:pvmove --alloc anywhere /dev/sdb1:1000-1999 /dev/sdb1:0-999。 原因:因为手动移动多个范围pvmove是完全可重复的事情(是否有大脑也存在疑问),所以我很好奇是否存在用于自动化/支持该过程的工具。如果不是,也许……一个人做-您认为这样的工具对其他人有用吗?

5
如何平均时间命令?
我正在执行time一些命令。现在要平均测度,我想对命令运行和计时指定的次数,并获得具有计算出的均值和标准差的结果。结果将是: avgtime -n 100 my_command real 0m5.388s stdev 0m0.068s user 0m5.380s stdev 0m0.067s sys 0m0.004s stdev 0m0.000s 是否有用于此的UNIX工具?GNU / Linux是否有一个?

5
USB性能/流量监控器?
首先,我发现了一个类似的问题,但这并不能真正解决我的问题。我试图发现我正在使用的设备的USB总线是否是程序中的瓶颈。 如何监视USB总线(类似于gnome-system-monitor的工作方式)以显示总线利用率?基本上,我想确定总线何时被“最大化”。我想我正在寻找的是usbmon的一些界面,因为它看起来像我需要的。 这来自于测试USRP和GNU Radio。我遇到的情况似乎是USB总线可能是一个限制因素,所以我问一个更通用的USB性能监控问题。

2
为什么wc这么慢?
为什么wc实用程序这么慢? 当我在一个大文件上运行它时,它花费的时间比md5sum长20倍: MyDesktop:/tmp$ dd if=/dev/zero bs=1024k count=1024 of=/tmp/bigfile 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 0.687094 s, 1.6 GB/s MyDesktop:/tmp$ time wc /tmp/bigfile 0 0 1073741824 /tmp/bigfile real 0m45.969s user 0m45.424s sys 0m0.424s MyDesktop:/tmp$ time md5sum /tmp/bigfile cd573cfaace07e7949bc0c46028904ff /tmp/bigfile real 0m2.520s user 0m2.196s sys 0m0.316s 这不仅是由于文件中充满了空值而导致的一种奇怪的边缘情况,即使文件中填充了随机数据或文本文件,我也看到了相同的性能差异。 …
17 performance  wc 

1
如何使dpkg更快?
在Debian系统上安装(卸载)软件包的速度非常慢,部分原因是它可以处理大量(小)文件。缺少更快的存储,我如何加快存储速度?我在想,也许可以将一些高度访问的目录加载到RAM中作为一种解决方案,但是我该怎么做呢?有没有更好的解决方案?

2
与cp从nfs-share复制文件到本地目录的cp相比,rsync非常慢(8到10倍)
我有一个全新安装的Ubuntu服务器,它应该是我们VM存储的新备份服务器。该服务器有4个网卡,其中2个为10Gbit(实际上是具有最新驱动程序的Intel x540-T2),用于连接到SAN。我将nfs共享安装在本地,并在复制包含约30个文件,约15个vm映像和相应日志文件的目录时比较了速度差异。映像的大小在8 GB到600 GB之间。 使用方法: cp -rf /mnt/nfs-share /backup-storage/ 因此,bmon的显示速度约为600 MiB / s。 使用 rsync -av /mnt/nfs-share /backup-storage/ bmon在最初的几秒钟内显示一些数据包,暂停约30秒钟,然后累积速度达到约60-75 MiB / s。CPU约为60%。 我应该/应该改变什么以使其rsync具有相同的性能cp?
17 ubuntu  rsync  performance  cp 

5
使用grep vs awk
捕获特定图案,awk并且grep可以使用。为什么我们要使用一个?哪个更快,为什么? 如果我有一个日志文件并且想要获取某种模式,则可以执行以下操作之一 awk '/pattern/' /var/log/messages 要么 grep 'pattern' /var/log/messages 我还没有做过任何基准测试,所以我不知道。有人可以详细说明吗?很高兴知道这两个工具的内部工作原理。
17 linux  awk  grep  performance 


1
iotop如何计算相对I / O活动?
我在工作站上运行了一些繁重的I / O进程,最近安装iotop了它们来监视它们。这是最近的屏幕截图: 我对IO&gt;专栏中的读数有些困惑。这表明我的磁盘正在以大约1500%的I / O活动运行。那有可能吗? 如何从这些读数中找出磁盘的最大可能I / O?iotop如何计算相对的I / O活动?
16 performance  io  disk  top 

1
为什么要查找。类型的f所花的时间要比查找更长的时间?
find为了递归遍历目录的内容,似乎必须检查给定的路径是否对应于文件或目录。 这是一些动机,也是我在当地所做的,使自己确信自己find . -type f确实比慢find .。我还没有深入研究GNU查找源代码。 因此,我要备份$HOME/Workspace目录中的某些文件,并排除属于我的项目或版本控制文件的文件。 因此,我运行了以下命令,该命令快速执行 % find Workspace/ | grep -v '/vendor\|/node_modules/\|Workspace/sources/\|/venv/\|/.git/' &gt; ws-files-and-dirs.txt find用管道传递到grep可能是错误的形式,但这似乎是使用否定的正则表达式过滤器的最直接方法。 以下命令仅在find输出中包含文件,并且花费的时间明显更长。 % find Workspace/ -type f | grep -v '/vendor\|/node_modules/\|Workspace/sources/\|/venv/\|/.git/' &gt; ws-files-only.txt 我编写了一些代码来测试这两个命令的性能(使用dash和tcsh,以排除shell可能产生的任何影响,即使不应有任何影响)。的tcsh,因为他们基本上是相同的结果已被忽略。 我得到的结果表明,该产品的性能损失约为10% -type f 这是程序的输出,显示了执行各种命令的1000次迭代所花费的时间。 % perl tester.pl /bin/sh -c find Workspace/ &gt;/dev/null 82.986582 /bin/sh -c find Workspace/ | grep …
15 find  performance  gnu 

4
将数百万个文件从一台服务器传输到另一台服务器
我有两台服务器。其中一个拥有1500万个文本文件(约40 GB)。我正在尝试将它们转移到另一台服务器。我考虑过压缩它们并传输档案,但是我意识到这不是一个好主意。 因此,我使用了以下命令: scp -r usrname@ip-address:/var/www/html/txt /var/www/html/txt 但是我注意到该命令仅传输约50,000个文件,然后连接断开。 有没有更好的解决方案可以让我传输整个文件集?我的意思是要使用类似的方法rsync来传输丢失连接时未传输的文件。当另一个连接中断发生时,我将再次键入命令以传输文件,而忽略那些已经成功传输的文件。 使用不可能scp,因为它总是从第一个文件开始。

1
为什么我的TCP吞吐量比UDP吞吐量大得多?
我没有对硬件或内核配置(所有默认设置,全新的操作系统安装,Linux内核3.11 TCP / IP堆栈)进行任何异常处理,通过TCP我平均每秒平均发送约383万条消息,而我平均仅为0.75每秒通过UDP的百万条消息。这似乎完全违背了我对这两个协议的期望。 造成这种巨大差异的最可能原因是什么,如何在Ubuntu 13.10上进行诊断? #TCP RESULTS Recv Send Send Utilization Service Demand Socket Socket Message Elapsed Send Recv Send Recv Size Size Size Time Throughput local remote local remote bytes bytes bytes secs. 10^6bits/s % S % S us/KB us/KB 87380 65536 64 10.00 1963.43 32.96 17.09 5.500 …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.