Questions tagged «performance»

程序运行的速度

11
在Linux中运行GUI应用程序的最简单方法?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 我意识到我可以在没有桌面环境的情况下使用窗口管理器,并且不会失去我关心的任何功能。应用程序仍然可以正常工作,我仍然可以根据需要安排应用程序窗口。 这几乎消除了像我这样的用例对轻量级桌面环境(如LXDE和XFCE)的需求。 我想知道这是否是列表的结尾。有什么可以切除的吗?至少,我想要可以运行诸如Firefox之类的GUI应用程序的东西。我想象有一个终端可以启动其他应用程序。


1
如何确保正在运行的进程的专用CPU可用性?
最初,随着操作系统执行管理流程执行的工作,这个问题似乎有点愚蠢/令人困惑。 但是,我想测量有多少进程受CPU / IO的约束,我感觉自己的操作系统正在干扰实验,例如调度的OS进程。 以以下情况为例:我运行了进程A两次,并从工具“时间”(以秒为单位的时间列)中得到以下输出: +---+-------+---------+-----------+---------+ |Run|Process|User Time|System Time|Wall time| +---+-------+---------+-----------+---------+ |1 |A |196.3 |5.12 |148.86 | |2 |A |190.79 |4.93 |475.46 | +---+-------+---------+-----------+---------+ 我们可以看到,尽管用户时间和系统时间相似,但是两者的耗用时间却发生了巨大变化(相差约5分钟)。感觉就像我的环境中的某种东西引起了某种争论。 我想停止所有可能的后台进程/服务,以免在实验期间产生任何噪音,但我认为自己是新手/中级的Unix用户,我不知道如何保证这一点。 我正在使用Linux 4.4.0-45-generic和Ubuntu 14.04 LTS 64位。 我非常感谢您的协助。如果你们需要任何缺少的信息,我会及时编辑我的帖子。 CPU信息 $ grep proc /proc/cpuinfo | wc -l 8 $ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte …

3
实际限制btrfs快照的数量?
我正在考虑在数据驱动器上使用btrfs,以便可以使用snapper或诸如snapper之类的功能来进行基于时间的快照。我相信这将使我能够浏览数据的旧版本。这是我当前的异地备份的补充,因为驱动器故障会清除数据和快照。 据我了解,btrfs快照不会占用太多空间(元数据和已更改的块,再加上一些开销),因此空间似乎不是一个约束。 如果我有一百万个快照(例如,两年每分钟快照),假设我有足够的磁盘空间来存储数据,更改的数据和元数据,那会造成严重破坏吗? 如果快照数量有实际限制,是否取决于文件数量和/或文件大小?

5
在Linux上使用O_DIRECT
如果这个问题太面向程序员,请告诉我。我想知道是否有人熟悉Linux 2.6上的open()系统调用的O_DIRECT标志?Linus贬低了它的使用,但是高性能文件写入似乎表明了它的使用。我想知道任何现实世界的经验和建议。 更多信息:我正在使用的应用程序确实维护了自己的缓存,并且这样做的速度平均提高了5倍或更多。写入文件时,必须将高速缓存的内容写出到文件系统高速缓存中,这似乎是多余的,并且会影响性​​能。


1
糟糕的通用dm-crypt(LUKS)写入性能
我正在研究一个问题,其中对块设备进行加密在写入时会带来巨大的性能损失。数小时的互联网阅读和实验并没有为我提供适当的了解,更不用说解决方案了。 简而言之,问题是:为什么在将btrfs放在块设备上时,我能获得非常快的写入速度(〜170MB / s),而在两者之间放置dm-crypt / LUKS时,写入速度却急剧下降(〜20MB / s)。文件系统和块设备,尽管该系统还能够维持足够高的加密吞吐量? 情境 /home/schlimmchen/random是一个4.0GB的文件,其中填充了/dev/urandom以前的数据。 dd if=/dev/urandom of=/home/schlimmchen/Documents/random bs=1M count=4096 读起来超级快: $ dd if=/home/schlimmchen/Documents/random of=/dev/null bs=1M 4265841146 bytes (4.3 GB) copied, 6.58036 s, 648 MB/s $ dd if=/home/schlimmchen/Documents/random of=/dev/null bs=1M 4265841146 bytes (4.3 GB) copied, 0.786102 s, 5.4 GB/s (第二次,显然是从缓存中读取了文件)。 未加密的btrfs 该设备直接使用btrfs格式化(块设备上没有分区表)。 $ sudo mkfs.btrfs …

3
为什么在具有50Gb文件的外部存储驱动器(USB连接,类型为fuseblk)上rm变慢?
我一直在尝试使用rsnapshot进行备份,但是我发现它不可用。尽管它能够在几分钟内区分一个目录(50gb)并复制它(硬链接每个文件),而且我可以在大约半小时内cp整个目录,但删除它要花一个多小时。即使直接使用rm -rfv,我发现管理一个文件也可能需要半秒钟,而cpand link命令会立即完成。 为什么RM这么慢?有没有更快的方法来递归删除硬链接?对我来说,复制文件所花的时间比删除它所花的时间少,这对我来说没有任何意义。 我正在处理的文件系统是一个外部存储驱动器,它通过usb连接并键入fuseblk(我认为这是ntfs)。我的计算机正在运行ubuntu linux。 从顶部输出: Cpu(s): 3.0%us, 1.5%sy, 0.0%ni, 54.8%id, 40.6%wa, 0.0%hi, 0.1%si, 0.0%st Mem: 8063700k total, 3602416k used, 4461284k free, 557604k buffers


4
有没有最快的方法来关闭系统?
还是shutdown -h now最快的速度? 我在寻找一些syscall或类似的东西,它们可以跳过关机前所做的许多工作(特别是要关心正在运行的过程)。 充其量,我想要一个与内核相关的解决方案,对init-middleware(如systemd或upstart)一无所知。 与直接杀死所有服务(例如杯子/ apache / pulseaudio等)相关的风险...我不在乎。 备注:解决方案应为软件辅助。按下设备上的按钮不是我想要的。

3
为什么coreutils的排序速度比Python慢​​?
我编写了以下脚本来测试Python排序功能的速度: from sys import stdin, stdout lines = list(stdin) lines.sort() stdout.writelines(lines) 然后,我将其与sort包含1000万行的文件中的coreutils 命令进行了比较: $ time python sort.py <numbers.txt >s1.txt real 0m16.707s user 0m16.288s sys 0m0.420s $ time sort <numbers.txt >s2.txt real 0m45.141s user 2m28.304s sys 0m0.380s 内置命令使用了所有四个CPU(Python仅使用了一个),但是运行时间大约是它的3倍!是什么赋予了? 我正在使用Ubuntu 12.04.5(32位),Python 2.7.3和sort8.13

3
为什么尽管CPU或磁盘都没有过度使用,但负载仍然很高
我从得到以下输出top: Cpu(s): 43.8%us, 32.5%sy, 4.8%ni, 2.0%id, 15.6%wa, 0.2%hi, 1.2%si, 0.0%st Mem: 16331504k total, 15759412k used, 572092k free, 4575980k buffers Swap: 4194296k total, 260644k used, 3933652k free, 1588044k cached 来自的输出iostat -xk 6显示以下内容: Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.00 360.20 86.20 153.40 1133.60 2054.40 …
20 performance  load 


2
grep在不运行CPU时会做什么?
在寻找与的匹配项时grep,我经常注意到,后续搜索所花的时间比第一次搜索少得多,例如25s与2s。显然,这不是通过重用上次运行的数据结构来实现的,而应该重新分配这些数据结构。在上运行time命令grep,我注意到了一个有趣的现象: real 24m36.561s user 1m20.080s sys 0m7.230s 其余时间去哪里了?我能做些什么使它每次快速运行吗?(例如,在grep搜索文件之前,让另一个进程读取文件。)
19 grep  performance 

3
Linux中的IPsec瓶颈是什么?
我正在尝试比较千兆以太网中连接的两个主机之间的几种网络安全协议的性能。 我的目标是查看是否可以饱和带宽,如果不能,则限制因素是什么。 使用SSL,我可以达到981 MBit / s,因此以太网链路显然是限制因素; 使用SSH,我只能达到750 MBit / s,但是我的核心之一是使用率达到100%。由于SSH是单线程的,因此CPU是限制因素。 使用IPsec,我的读取速度约为500 MBit / s,但是我的内核都不是100%(低于50%)。 所以我的问题是:为什么IPsec无法达到更高的带宽? 这两个主机正在运行用于IPsec的Debian Wheezy和Strongswan。

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.