在sar -B pgpgin/s ,我会天真地期望pgpgin/s等于majflt/s乘以系统页面大小。 从man sar : pgpgin/s Total number of kilobytes the system paged in from disk per second. Note: With old kernels (2.2.x) this value is a number of blocks per second (and not kilobytes). majflt/s Number of major faults the system has made per second, those which have required loading a memory […]
我的物理服务器随机挂起,在此期间我没有得到任何日志条目。 所以我让脚本运行: while true; do date >>/tmp/dates; sleep 1; done & disown 几分钟后文件/ tmp /date有“漏洞”。 有时date中断30秒,有时连续3分钟: Thu Feb 13 14:54:39 CET 2014 Thu Feb 13 14:54:40 CET 2014 Thu Feb 13 14:57:45 CET 2014 Thu Feb 13 14:57:46 CET 2014 服务器不显示高负载或内存利用率。 / var / log / messages不会显示服务器挂起的时间。 但是它确实有一些关于IO问题的信息,比如一个小睡的fibrechannel链接。 我从SAN启动,所以/在一个多映射器设备上。 如果我打电话 while true; do date >>/tmp/dates; […]
在我们的Ubuntu 10.04 KVM基础设施上,我们遇到了一个奇怪的问题,即使我们重新启动应用程序,周期性地,两个vm web服务器中的一个出现负载持续很高的情况。 (在vm中使用任何重要的系统资源的唯一方法)如果我们完全停止了webserver守护进程,负载确实会下降,但是当我们重新启动时,负载会跳回到高水平。 vm guest虚拟机的重新启动清除了问题,在问题返回之前它可以正常运行好几天。 最近,我们在pipe理程序上安装了“perf”,并注意到在高负载期间,内核函数“__ticket_spinlock”使用CPU的比例很高(30-60%),而在正常操作期间低于1%。 高负载的虚拟机重新启动清除了这一点。 做一些研究,了解自旋锁和自旋锁,我们已经提出了一个假设,即经历高负载的虚拟机正在等待其他虚拟机持有的锁,并且由于某种原因没有得到它。 我们发现有这个问题的pipe理程序与之前部署的CentOS有不同之处,但是没有这样做。 Ubuntu 10.04虚拟机pipe理程序的内核使用不同的默认IOScheduler(截止date)进行编译,并且preempt_voluntary处于closures状态。 我们已经在两个站点之间同步了这些configuration,并且正在等待更新后的pipe理程序上的虚拟机是否再次出现exception。 **编辑:我们从来没有find根本原因,但自迁移到Ubuntu 14.04以来,我们再也没有看到这个问题。 有什么办法可以检测Linux进程正在等待什么设备,当它在自旋锁/自旋锁中? 有什么办法可以检测到Linux进程在特定设备上有锁吗?
我想了解如何使用CFQ影响“讨厌的邻居”问题。 我会问这个问题,使用CFQ的时候,是否还会有一个“好邻居”? 是不是CFQ应该确保所有进程(VM)获得公平的存储时间片? 如果是这样,当CFQ被使用时,一个VM I / O如何干扰另一个VM I / O? 环境是CentOS6.5 + OpenStack + KVM + Ceph
我试图限制我的服务器上使用cgroups的I / O写入使用率。 这里是我的分区表信息: major minor #blocks name 8 0 10485760 sda 8 1 9437184 sda1 8 2 1047552 sda2 这是我的文件系统结构: Filesystem Size Used Avail Use% Mounted on /dev/sda1 8.9G 8.4G 37M 100% / none 1004M 0 1004M 0% /dev/shm 这是我的cgroupsconfiguration: mount { blkio = /cgroup/blkio; } group test2 { blkio { blkio.throttle.write_iops_device=""; blkio.throttle.read_iops_device="8:0 10485760"; […]
我使用libvirt和KVM在Ubuntu 15.04服务器中设置了虚拟化的Ubuntu 15.10 guest虚拟机。 存储在主机系统中: # mount | grep ext4 /dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered) /dev/sdb1 on /media/hdd type ext4 (rw,relatime,data=ordered) / dev / sda是一个SSD, / dev / sdb是一个硬盘。 最初的configuration是使用virt-manager完成的。 问题: 来宾系统的总体性能似乎是好的,但是一些操作,使用apt-get(因此来宾系统安装)显着地安装软件包是非常缓慢的。 来宾磁盘映像是原始格式,我已经尝试将它放在SSD和HDD作为一个文件,也作为一个单独的硬盘分区。 不同的位置会对性能有所影响,但是使用apt-get安装某些软件包仍然比主机系统慢两到三倍。 我也尝试了各种qemu磁盘caching选项, 并使用不安全的caching似乎完全消除了这个问题 。 但是,任何其他caching设置(包括none和writeback)都performance出糟糕的性能。 当然,使用不安全看起来不是一个真正的解决scheme。 这里是从客户xmlconfiguration摘录: <disk type='block' device='disk'> <driver name='qemu' type='raw' cache='none'/> <source dev='/dev/sdb2'/> <target dev='vda' bus='virtio'/> <boot order='2'/> […]
我有一个基于btrfs的四磁盘RAID1arrays的系统。 两个磁盘是1TB传统硬盘,另外两个是128GB固态硬盘。 每个磁盘的大部分都装满了一个LUKS容器。 在所有的四个LUKS容器里面,我有一个用于RAID1的btrfs文件系统。 上面的configuration应该会有相当不错的performance,但不幸的是,它超慢。 以下是一些基准testing,通常在同一时间运行: % dd if=/dev/zero of=tmpfile bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 1.18302 s, 908 MB/s % dd if=/dev/zero of=tmpfile bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 1.66737 s, 644 MB/s % dd if=tmpfile of=/dev/null bs=1M count=1024 1024+0 […]
我经常在多个子网和networking之间移动。 我经常遇到资源pipe理器和其他程序,看起来是一个IO请求。 我试图find一个一致的方式来跟踪哪个请求停滞。 像进程pipe理器这样的工具不提供我需要的信息。 另外,有没有我可以用来减less超时时间的registry设置?
我有一台运行Ubuntu Server 10.04的旧电脑,它充当路由器,文件服务器和Web服务器。 几个星期前,我插入了一个PCIevideo卡,因为主板没有任何video输出。 从那以后,我现在偶尔会得到IO和总线错误。 发生这种情况时,大多数二进制文件(如sudo , vim或cat )通常会导致错误消息I/O error 。 列出大多数目录工作,但ls /给Bus error 。 如果我执行计算机的硬重置,一切都会重新开始工作。 不到半年的磁盘不是任何RAID系统的一部分。 服务器负载不重,并具有Core 2 Duo CPU和4 GB RAM。 我怀疑这可能是一个硬件问题。 但是,有什么办法可以知道要怀疑哪些硬件? 硬盘,主板还是别的?
监视Xen虚拟机(而不是Dom0)的I / O的好方法是什么?