有没有办法找出/dev/dm-1是块设备分区还是整块设备? 如果/dev/dm-1是一个分区,是否有办法find相应的整个块设备的path?
我在Linux服务器(内核2.6.37,16核心,32G内存)上的2个文件系统之间复制大文件(3 x 30G),而且性能下降。 我怀疑缓冲区caching的使用正在消除I / O性能。 为了尝试缩小问题,我直接在SAS磁盘上使用fio来监视性能。 这是2个fio运行的输出(第一个直接= 1,第二个直接= 0): configuration: [test] rw=write blocksize=32k size=20G filename=/dev/sda # direct=1 运行1: test: (g=0): rw=write, bs=32K-32K/32K-32K, ioengine=sync, iodepth=1 Starting 1 process Jobs: 1 (f=1): [W] [100.0% done] [0K/205M /s] [0/6K iops] [eta 00m:00s] test: (groupid=0, jobs=1): err= 0: pid=4667 write: io=20,480MB, bw=199MB/s, iops=6,381, runt=102698msec clat (usec): min=104, max=13,388, […]
我正在运行一个Centos 7 ESXi虚拟机,有近300GB的RAM和24个vCPU。 平均负载是3,应用程序几乎从不使用超过150GB的RAM。 其余的可用内存被Linux用于caching。 问题是,当caching填满可用RAM时,两个kswapd进程将使用100%的CPU启动,突然间我看到所有CPU也显示了99%的系统使用率(不是等待或用户,主要是sys)。 这会在几分钟内导致高负载(100+),直到系统恢复并且负载再次下降到3。 在这一刻我没有交换分区,但即使我有一个这个问题发生。 我发现的一个“解决scheme”是每天执行以下命令: echo 3 > /proc/sys/vm/drop_caches 其中丢弃缓冲区/caching。 这将“修复”这个问题,因为caching使用从未达到100%。 我的问题是: 这个问题是否有真正的解决scheme? Linux内核不应该足够聪明,只需从内存中清除旧的caching页面,而不是启动kswap? 毕竟,从我所了解的RAM内存的主要function是由应用程序使用。 caching只是一个次要的function,如果你没有足够的内存,它可以被丢弃/忽略。 我的内核版本是3.10.0-229.14.1.el7.x86_64。
我尝试启用IP转发(在enp0s3和tun0接口之间),并在/etc/sysctl.conf写入net.ipv4.ip_forward = 1 。 重新启动后,我有 $ cat /proc/sys/net/ipv4/ip_forward 1 但转发仍然无法正常工作。 我尝试在/etc/sysctl.conf添加net.ipv4.conf.default.forwarding=1 。 现在重新启动后,我有 $ cat /proc/sys/net/ipv4/ip_forward 1 $ cat /proc/sys/net/ipv4/conf/default/forwarding 1 $ cat /proc/sys/net/ipv4/conf/all/forwarding 1 $ cat /proc/sys/net/ipv4/conf/enp0s3/forwarding 0 $ cat /proc/sys/net/ipv4/conf/tun0/forwarding 0 我无法在sysctl.conf启用/proc/sys/net/ipv4/conf/enp0s3/forwarding和/proc/sys/net/ipv4/conf/tun0/forwarding ,因为这些文件在如此早期的启动时间不存在: systemd-sysctl[85]: Couldn't write '1' to 'net/ipv4/conf/enp0s3/forwarding', ignoring: No such file or directory systemd-sysctl[85]: Couldn't write '1' to 'net/ipv4/conf/tun0/forwarding', ignoring: No […]
请用粗体在“top”命令中解释以下行: Mem:总计1026228k,使用449640k,使用576588k, 缓冲44812k 交换:共1052248k,使用2020k,使用1050228k,使用189092k 谢谢Arpit
我有一个闲置的Linux centOS系统,但kswapd正在使用100%的CPU。 我所有运行的是一个单一的bash会议与顶级运行….我有32G内存,但kswapd不断使用100%的CPU超过4个小时。
目前我们正在build立一些本地networking服务器,以在完整的ipv4networking中运行。 我可以肯定,这个networking没有ipv6的支持,永远不会。 在旁边, 部分原因是由于组织层面的指挥, 部分是因为我们必须保证,永远不会造成任何干扰, 我们需要以某种方式完全禁用那里的linux服务器的内核的ipv6支持。 是的,我可以谷歌一些sysctl设置,但这是不够的。 例如,在/etc/hosts的默认设置中,我也发现了一些ipv6logging。 我不会让它在将来造成一些麻烦。 究竟需要做什么,完全从新安装的debian中删除整个ipv6支持? 最好的是清单/待办事项清单,但其他任何forms也没关系。 我检查了很多/etc的configuration文件,但我不能肯定我已经find了一切。 任何更好的想法? 有没有“清单”,需要设置什么?
是否有一个底层的pipe理或诊断接口,以确定在内部发生了什么? 我已经使用Linux机箱和Cisco交换机之间的链路聚合多年。 在设置新的方框时,Linux端不会响应思科LACP数据包,我定期遇到死胡同。 我一丝不苟地按照每个服务器的严格的指示,但结果似乎有所不同。 无论绑定是否包含一个或八个从属节点,tcpdump会显示所有绑定接口上来自交换机的LACP数据包,并且不会传回任何数据包。 实际上,没有数据包正在传输期间。 接口的rx_packets显示可观的stream量,但tx_packets为零。 有关MII或绑定的日志中没有什么有趣的。 甚至没有任何错误。 目前,我正在处理一个只有两个nics的盒子。 目前,我在债券中只有eth1。 显然,这是一个退化的configuration。 债券中的eth0和eth1都没有改变。 在networking堆栈完全closures的情况下,使机器难以使用。 如有必要,我可以重新configuration这两个nics,并通过一个pipe理界面(DRAC),但是我不能以这种方式复制粘贴。 一些预备: 我testing了nics,端口和电缆。 当接口没有绑定时,一切都按预期工作。 我已重新启动并确认模块已正确加载。 我已经试过这个和没有vlan中继, 链路聚合发生在堆栈中的那一点以下,这应该不重要。 交换机有工作,集群通道组转到其他Linux机器。 即使Linux机箱的发行版,内核和硬件不相同,configuration也是相同的。 这是今天下载的debian 8.6。 Linux box 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64 GNU/Linux 缩写configuration: iface eth1 inet manual auto bond0 iface bond0 inet manual slaves eth1 address 10.10.10.10 netmask 255.255.255.0 bond_mode 4 bond_miimon […]
我知道/ proc / sys / fs / file-max定义了打开文件描述符的最大数目,可以在运行时或启动时设置。 但是:它的默认值是多less? 检查我公司的10台服务器给了我7个不同的值,这些值都是随机的。 内核文档只是不断提到值可以改变 – 但不是如何计算默认值。 你们中有人知道默认值是如何确定的吗?
我最近将一些java应用程序转换为使用linux手动configuration的hugepages运行,如下所述。 我指出“手动configuration”,因为它们不是透明的巨大页面 ,这给我们一些性能问题 。 所以现在,我已经有10个tomcat在系统上运行了,而且我有兴趣知道每个用户有多less内存。 我可以像Linux Huge Pages Usage Accounting中所描述的那样从/proc/meminfo获得摘要信息。 但我找不到任何工具告诉我有关每个进程的巨大页面使用情况。 我在/proc/pid/numa_stat ,发现了一些有趣的信息,使我感到这种毛病: function pshugepage () { HUGEPAGECOUNT=0 for num in `grep 'anon_hugepage.*dirty=' /proc/$@/numa_maps | awk '{print $6}' | sed 's/dirty=//'` ; do HUGEPAGECOUNT=$((HUGEPAGECOUNT+num)) done echo process $@ using $HUGEPAGECOUNT huge pages } 或者这个,在perl中: sub counthugepages { my $pid=$_[0]; open (NUMAMAPS, "/proc/$pid/numa_maps") || die "can't […]