Questions tagged «linux»

Linux是基于Linux内核的类UNIX开源操作系统的通用术语。

2
sudo不适用于某些命令
我sudo在Debian 8上遇到了一个很奇怪的问题。用户无法在中执行某些命令/etc/sudoers.d。我使用Chef来分发配置,所以所有文件都是自动生成的。 例: 这个配置工作正常 root@server:~# cat /etc/sudoers.d/nginx # This file is managed by Chef. # Do NOT modify this file directly. user ALL=(root) NOPASSWD:/usr/sbin/nginx 这失败了: root@server:~# cat /etc/sudoers.d/update-rc.d # This file is managed by Chef. # Do NOT modify this file directly. user ALL=(root) NOPASSWD:/usr/sbin/update-rc.d user@www42:~$ sudo update-rc.d [sudo] password …
15 linux  debian  sudo  rbac 

1
如何在Linux内核中禁用perf子系统?
我正在运行一些基准测试。我的基准测试运行程序会监控实验之间的dmesg缓冲区,寻找可能影响性能的任何内容。今天它抛出了这个: [2015-08-17 10:20:14警告] dmesg似乎已更改!差异如下: --- 2015-08-17 09:55:00 +++ 2015-08-17 10:20:14 @@ -825,3 +825,4 @@ [3.802206] [drm]启用RC6状态:RC6打开,RC6p关闭,RC6pp关闭 [7.900533] r8169 0000:06:00.0 eth0:链接 [7.900541] IPv6:ADDRCONF(NETDEV_CHANGE):eth0:链接已准备就绪 + [236832.221937] perf中断花费的时间太长(2504> 2500),将kernel.perf_event_max_sample_rate降低为50000 经过一番搜索,我现在知道这与Linux内核中称为“ perf”的性能分析子系统有关。我认为我们不需要这个,所以我想完全禁用它。 再次搜索,发现sysctl perf_cpu_time_max_percent可以提供帮助。这里有人建议通过将其设置为0来禁用它。在这里阅读更多内容: perf_cpu_time_max_percent: 提示内核应将多少CPU时间用于处理性能采样事件。如果性能子系统被告知其采样数已超过此限制,它将降低其采样频率以尝试减少其CPU使用率。 在NMI中会进行一些性能采样。如果这些样本出乎意料地花费太长时间执行,则NMI可能会紧挨在一起堆叠在一起,以致其他任何东西都不允许执行。 0:禁用该机制。无论花费多少CPU时间,都不要监视或校正perf的采样率。 1-100:尝试将perf的采样率限制为该CPU百分比。注意:内核会计算每个样本事件的“预期”长度。这里的100表示​​预期长度的100%。即使将其设置为100,如果超过此长度,您仍可能会看到样品节流。如果您确实不关心消耗了多少CPU,则设置为0。 在我看来,这听起来像0,意味着不再检查分析采样率,但是freq子系统保持运行状态(?)。 谁能阐明如何使用freq完全禁用内核性能分析? 编辑:有人建议我尝试在没有性能的情况下构建内核,但是我什至认为这是不可能的。该选项似乎不可切换: EDIT2:经过更多阅读后,我决定可以将其设置kernel.perf_event_max_sample_rate为零。即每秒没有样本。但是,您也不能做到这一点(source): 提交02f98e3e36da106338b7c732fed516420fb20e2a 作者:纳特·彼得森(Knut Petersen) 日期:2013年9月25日星期三14:29:37 +0200 perf:将1强制为perf_event_max_sample_rate的下限 编辑3:FWIW perf_cpu_time_max_percent设置为25,这意味着内核花费了其硬件采样时间的25%以上。这对于基准测试机是不可接受的。 我现在确定将其设置perf_cpu_time_max_percent为零只会使情况恶化,因为内核将继续使用其25%以上的时间读取硬件寄存器。该错误会触发以调整采样率,从而尝试确保内核满足其配额(使用小于25%的时间作为perf)。25%仍然太高恕我直言。 如果我真的不能禁用性能,则最好的折衷办法可能是设置perf_event_max_sample_rate为1。 EDIT4:一位朋友建议我可能对的含义有误解perf_cpu_time_max_percent,因此上述说法可能不正确。值25表示内核使用了为服务性能中断保留的任意长度的25%以上。 …

1
Usermod -aG vs gpasswd -a作为最佳实践
我知道在许多这样的帖子中,usermod -g并不是最佳实践,但是它们通常说明不应使用usermod,因为它会更改用户的主要组。这些帖子似乎没有考虑到-aG开关,该开关只是附加了该组。 这仍然是不好的做法,还是与使用gpasswd -a没什么不同?

1
在数据中心之间共享/ home
我有两台服务器,分别位于荷兰和法国的数据中心。两者都在运行Debian Wheezy。我需要在它们之间共享/ home,并具有良好的性能。服务器上有300多个用户,其中大约30个用户应该能够在给定的时间在给定的服务器上拥有活动的进程,每个进程每秒具有50 kbit的读取和20 kbit的写入,每秒的峰值约为2000 kbit /的阅读。在本地存储上使用iotop进行测量。我有很多小文件,总计约500000,并且需要尽可能低的延迟。服务器之间的Ping为17毫秒,使用scp和wget时,连接速度可以达到20-30 MB / s。似乎应该有足够的可用带宽,但是... 到目前为止,我确实了解过:sshfs:似乎它的性能比nfs好,但是它随机地将文件的权限更改为root,从而导致应用程序崩溃。 nfs:减慢速度的方法,noatime尝试了很多其他选择,但是即使只有少数几个进程处于活动状态,它也仍然运行缓慢。 drbd:5个小时的无用功,当我意识到我实际上无法在两个系统上都挂载文件系统时:-( glusterfs:所有数据的本地副本确实听起来很有希望,但是随机文件访问确实很慢,并且运行一段时间后,它变得令人难以置信的缓慢并且几乎挂起。noatime没有帮助。 NFS再次:仍然疲软。 哭泣的键盘:根本没有改善。 接下来要尝试什么?在上周,每个失败的试验都花了一个晚上甚至更长的时间,我真的很想使用下一种方法。是的,两个服务器之间共享文件系统至关重要。 感谢您提供有关此问题的任何新想法。

2
我的RAM去了哪里?
注意:在您跳得太快之前,是的,我阅读了linuxatemyram.com! 我有一台具有64GB RAM的服务器。 free -m 说我的RAM已满,这不是因为磁盘缓存: total used free shared buffers cached Mem: 64458 64117 340 201 67 331 -/+ buffers/cache: 63719 739 Swap: 1532 383 1149 但是,top按内存使用情况排序的总和不等于64GB: KiB Mem: 66005116 total, 65652464 used, 352652 free, 67512 buffers KiB Swap: 1569780 total, 392656 used, 1177124 free. 337464 cached Mem PID …

3
非交互式创建SSL证书请求
是否可以通过在初始命令上指定所有必需的参数来创建SSL证书请求的方法?我写一个基于CLI的Web服务器的控制面板和我想避免使用预期执行时,openssl如果可能的话。 这是创建证书请求的典型方法: $ openssl req -new -newkey rsa:2048 -nodes -sha256 -keyout foobar.com.key -out foobar.com.csr Generating a 2048 bit RSA private key .................................................+++ ........................................+++ writing new private key to 'foobar.com.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are …

1
使sshd侦听特定接口
在我的机器上,我正在使用使用tun0接口的OpenVPN。我希望sshd仅在此接口上侦听。 我知道,我可以指定要收听的IP地址 /etc/ssh/sshd_config 与 ListenAddress 0.0.0.0 指示。但是我的IP地址会更改,因此我无法在此处选择始终有效的IP。我知道只有在VPN启动时我才能启动守护程序-这不是问题。 如何使sshd仅在特定接口(tun0)上侦听?
15 linux  ssh  ip  interface 

3
Unix(或Linux)中是否有一种机制可以阻止正在进行的核心转储?
假设一个(非常大的)进程正在崩溃并转储核心,并且我们从其他信息(可能是断言消息,也许还有其他信息)中知道了原因。 有没有办法阻止核心转储完全生成,因为在这种情况下这很浪费? 例如,杀死-9的核心转储过程会中断corefile的生成吗? 显然,如果我们提前知道我们不希望进行核心转储,则可以适当地设置ulimit或使用操作系统的各种核心文件控制实用程序。 但是这个问题是关于“核心转储已经在进行中”的阶段。 (例如,假设我是/programming/18368242/how-to-bypass-a-2tb-core-dump-file-system-limit的请求者, 不想浪费5 -6 TB磁盘空间:))
15 linux  unix  dump 


4
Linux oom情况
我有连续的oom&panic情况无法解决。我不确定系统是否已填满所有RAM(36GB)。为什么这个系统触发了这种oom状态?我怀疑它与32位linux系统中的lowmem区域有关。我该如何分析内核崩溃和oom-killer中的日志? 最好的祝福, 内核3.10.24 Dec 27 09:19:05 2013 kernel: : [277622.359064] squid invoked oom-killer: gfp_mask=0x42d0, order=3, oom_score_adj=0 Dec 27 09:19:05 2013 kernel: : [277622.359069] squid cpuset=/ mems_allowed=0 Dec 27 09:19:05 2013 kernel: : [277622.359074] CPU: 9 PID: 15533 Comm: squid Not tainted 3.10.24-1.lsg #1 Dec 27 09:19:05 2013 kernel: : [277622.359076] …

2
sync命令有什么作用?
我知道它的作用...我想我很好奇为什么它可以解决我继承的应用程序中的问题。我接管了一个相当大的tomcat应用程序,该应用程序充当一堆Flex客户端的Red5服务器,并处理了大量的实时交互数据,这些数据最终被刷新为Rails api。随着时间的流逝,问题变得越来越严重,这些客户端的驻留时间增长到3-400毫秒,而通常情况下<100毫秒。客户怀疑这是一个内存问题,我们确实无法确认。有一天,我正在对一个负载测试进行运行的登台服务器基本上停止了接收请求或速度非常慢。我一时兴起 sync && echo 3 > /proc/sys/vm/drop_caches 服务器神奇地恢复了生命,并开始全速运行,为这些连接服务。这是巧合还是这种行为有意义,为什么?
15 linux  memory 

5
使用虚拟化,使用多个安装点仍然有意义吗?
在2013年,在一个新的Linux映像上仍然具有多个安装点是否有意义,还是将所有空间分配给/更有意义? 我希望避免重新启动以增加安装点的大小。我也希望监视单个安装架的空间。我宁愿知道整个服务器的驱动器空间使用率都超过70%,而不是处理单个安装点。

2
Bash提示低于输出-背景日志尾
我曾经在一家拥有定制外壳程序的公司工作,该外壳程序用于管理在Linux上运行的其中一种产品,并且我希望复制该外壳程序的关键功能。 所有工作都是通过后台进程完成的,日志的输出显示给所有连接的用户。 日志将在外壳的背景中尾部出现,并且提示行将始终完美地位于底部。 例如 Log line 1 Log line 2 Log line 3 ![ROOT@PRODUCT51-LIVE]:~/ # 我尝试使用bash进行此操作的方法是在用户.bashrc文件中启动一个分离的尾巴,但是当命令的输出发送到stdout时-它出现在bash提示符下,例如 ![ROOT@PRODUCT51-LIVE]:~/ #Log line 1 Log line 2 Log line 3 用户必须按Enter或输入CtrlC干净提示行。 我没有关于如何使提示始终跳到输出底部的想法,并且我认为我使用了错误的术语来在Google上找到任何内容,因为我没有运气-有人知道如何做到这一点用bash?
15 linux  bash  shell  tail 


1
使cron日志添加到文件,而不是覆盖它
首先,很抱歉如果这是错误的stackexchange,但似乎是正确的方法。 现在是我的crontab: MAILTO=****@gmail.com 10,30,50 * * * * ~/webapps/****/apache2/bin/start */10 * * * * /usr/local/bin/python2.7 ~/webapps/****/WR/cron.py > ~/webapps/****/WR/cron.log 2>&1 但是每次将输出放入cron.log文件时,所有旧内容都会被覆盖。我该如何阻止呢?或者,如果不可能的话,还有什么选择? 注意:****URL和电子邮件中的隐藏个人信息。
15 linux  ssh  cron 

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.