Questions tagged «linux»

这些问题通常与Linux有关-并非特定于特定发行版。如果问题恰好在Linux环境中,请在问题正文中指定Linux发行版,但不要使用/ linux标记。


8
如何查找定期将哪个进程写入磁盘?
我如何找到哪个进程正在不断写入磁盘? 我希望自己的工作站接近无声,我只是用安静的风扇等来构建一个新系统(P8B75-M + Core i5 3450s-之所以因为它的最大TDP较低)而安装了Debian Wheezy 64位在上面。 而且有些事情让我紧张:我可以听到某种模式,例如硬盘正在写入或正在寻找某种东西(滴答……滴答……滴答……trrrrrr冲洗并每秒重复一次)。 过去(很多年以前),我也遇到过类似的问题,事实证明这是一些CUPS日志或类似的东西,我只是将一个(不重要)日志记录重定向到了一个(实际的)RAM磁盘。 但是在这里我不确定。 我尝试了以下方法: ls -lR /var/log > /tmp/a.tmp && sleep 5 && ls -lR /var/log > /tmp/b.tmp && diff /tmp/?.tmp 但那里什么都没有改变。 现在,奇怪的是,当提示我输入我的LVM解密密码的提示出现时,我也听到了模式。 可能是我刚安装的内核/系统中的某物,还是硬盘有故障? hdparm -tT /dev/sda 报告正确的HD速度(非高速缓存130 GB / s,sata 6GB),并且我已经从大型资源(Emacs)进行安装和编译而没有问题,因此我认为系统不是很糟糕。 (HD是Seagate Barracude 500GB)
40 linux  debian  logs  hard-disk 



9
如何监视串行端口流量?
是否有任何端口监视工具来监视写在端口上的数据包?我特别想检查用Java编写的程序是否正常工作,因此我需要某种工具来查看我的小应用程序是否正在将消息写入端口。我该怎么做呢?

2
将文件的“创建日期”和“最后修改时间”属性更改为另一个文件的
我正在使用merge cap从15个文件创建一个合并pcap文件。对于合并的文件,我将名称更改为15个文件中第一个文件的名称。但我也想将合并文件的属性(如“创建日期”和“最后修改时间”)更改为第一个属性。反正有这样做吗? FILES_dcn=($(find $dir_dcn -maxdepth 1 -type f -name "*.pcap" -print0 | xargs -0 ls -lt | tail -15 | awk '{print $9}')) TAG1_dcn=$(basename "${FILES_dcn[14]}" | sed 's/.pcap//') mergecap -w "${dir_dcn}"/merge_dcn.pcap "${FILES_dcn[@]}" mv "${dir_dcn}"/merge_dcn.pcap "${dir_dcn}"/"${TAG1_dcn}".pcap 我尝试通过samba服务器(Ubuntu)访问合并的文件。以便提取器功能可以访问将文件自动提取到D文件夹。但是由于将更改合并文件的创建日期,因此提取失败。有没有什么办法解决这一问题?
40 linux  bash  files  samba 

5
如何确定NFS挂载是作为v3还是v4挂载的?
当我安装Red Hat 5/6时,它说的是nfs类型,我想知道如何确定安装选项或fstab中未列出的版本。请不要说使用version选项重新安装它,我想知道如何确定当前安装的NFS版本。我猜它会默认基于NFS服务器/客户端设置,但是如何确定当前是什么?我很确定这是NFS v3,因为似乎不支持nfs4_setfacl。
40 linux  mount  nfs  acl 

3
使用4.3内核创建线程失败,并显示“资源暂时不可用”
我在带有多个容器的Arch Linux(内核4.3.3-2)上运行docker服务器。自从我上次重启以来,Docker服务器和容器中的随机程序都崩溃,并显示一条消息,提示无法创建线程或(较不频繁)进行分叉。根据程序的不同,特定的错误消息也有所不同,但是大多数错误消息似乎都提到了特定的错误Resource temporarily unavailable。有关某些示例错误消息,请参见本文末尾。 现在有很多人收到此错误消息,并对它们有很多响应。真正令人沮丧的是,每个人似乎都在猜测如何解决该问题,但是似乎没有人指出如何确定问题的许多可能原因中的哪一个。 我已经收集了以下5种可能的错误原因以及如何验证它们在我的系统上不存在的原因: 在/proc/sys/kernel/threads-max(source)中配置的线程数存在系统范围的限制。就我而言,该设置为60613。 每个线程都在堆栈中占用一些空间。堆栈大小限制是使用ulimit -s(source)配置的。我的壳的极限曾经是8192,但我已经通过将增加其* soft stack 32768成/etc/security/limits.conf,因此它ulimit -s现在的回报32768。我还通过将(source)添加LimitSTACK=33554432到docker进程中,并通过查看docker容器并在其中运行来验证该限制是否适用。/etc/systemd/system/docker.service/proc/<pid of docker>/limitsulimit -s 每个线程都会占用一些内存。使用来配置虚拟内存限制ulimit -v。在我的系统上,它设置为unlimited,并且我3 GB的内存中有80%可用。 使用的进程数有限制ulimit -u。在这种情况下,线程被视为进程(source)。在我的系统上,限制设置为30306,对于docker守护程序和docker容器内部,限制为1048576。可以通过运行ls -1d /proc/*/task/* | wc -l或通过运行ps -elfT | wc -l(source)找出当前正在运行的线程数。在我的系统上,它们介于700和之间800。 打开文件的数量有限制,根据某些来源的资料,在创建线程时这也很重要。限制是使用配置的ulimit -n。在我的系统和docker内部,限制设置为1048576。可以使用lsof | wc -l(source)找出打开的文件数,在我的系统上大约是30000。 上次重启之前,我正在运行内核4.2.5-1,现在我正在运行4.3.3-2。降级到4.2.5-1可以解决所有问题。其他提到问题的帖子是this和this。我已经打开了Arch Linux的错误报告。 内核中发生了什么变化可能导致这种情况? 以下是一些示例错误消息: Crash dump was written to: erl_crash.dump Failed to create aux thread …
39 linux  docker  limit  fork  thread 


5
在Ctrl-Alt-F1之后返回到GUI的命令行?
我无法使用Ctrl-Alt-F7(或12个功能键中的任何一个)返回GUI 。我有一些未保存的工作,我不想失去他们。还有其他组合键可以让我切换回去吗? 这是我所做的: 我按了Ctrl-Alt-F1一下,它像往常一样显示了一个基于文本的登录屏幕 然后我按了Ctrl-Alt-F7一下,它显示了一个充满文本的屏幕(我不记得它们是什么) 然后我按了Ctrl-Alt-F8一下,它显示了类似的日志消息/var/log/messages。有些条目来自automount,有些来自sendmail,并且都不是错误。 Ctrl-Alt-Fn现在按任何组合键都无效。大写锁定和数字锁定LED不再响应其相应的键。我可以使用鼠标突出显示屏幕上的文本,但没有其他内容。 知道发生了什么吗? 我仍然可以通过SSH登录系统。如opera所报道,我正在使用的GUI应用程序(例如)仍在运行,并且像往常一样消耗少量CPU top。是否可以通过命令行切换回GUI?如果可能的话,我不想重启X,因为这样做会杀死所有的GUI应用程序。 系统信息: Red Hat Enterprise Linux Client release 5.7 Linux 2.6.18-238.12.1.el5 SMP x86_64 gnome-desktop: 2.16.0-1.fc6 xorg-x11-server-Xorg: 1.1.1-48.76.el5_7.5 感谢Shawn,我得以重新使用chvt 9。 进一步的实验表明,如果我转到第8个虚拟终端(通过Ctrl-Alt-F8或chvt 8),则将无法使用Ctrl-Alt-Fx按键切换到任何其他终端。现在确定这是否是一个错误。
39 linux  xorg  console 


3
每个基于Linux的发行版中可用哪些标准命令?
我想知道每个Linux系统中可用的标准命令。 例如,如果您获得了debian / ubuntu / redhat / suse / arch / slackware等,您将始终在其中找到以下命令: cd,mkdir,ls,echo,grep,sed,awk,ping等 我知道所提到的某些命令是shell内置的,而其他命令却不是,但是它们仍然始终存在(根据我到目前为止的知识和经验)。 另一方面,默认情况下,诸如gawk,parted,traceroute和其他非常著名的命令之类的命令不会安装在不同的Linux发行版中。 我进行了不同的网络搜索,但没有找到直接的答案。 目的是我要创建一个shell脚本,并且应该对系统中是否可用该脚本中使用的命令进行一些检查。如果没有,它将提示用户安装所需的二进制文件。

7
通过sudo和su运行时,为什么PATH变量不同?
在我的fedora VM上,使用用户帐户运行时/usr/local/bin,我的路径是: [justin@justin-fedora12 ~]$ env | grep PATH PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/justin/bin 同样在运行时su: [justin@justin-fedora12 ~]$ su - Password: [root@justin-fedora12 justin]# env | grep PATH PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/justin/bin 但是,当通过运行时sudo,该目录不在路径中: [root@justin-fedora12 justin]# exit [justin@justin-fedora12 ~]$ sudo bash [root@justin-fedora12 ~]# env | grep PATH PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/sbin:/bin:/usr/sbin:/usr/bin 为什么通过via运行时路径会有所不同sudo?

4
在Linux中从IP地址解析MAC地址
我需要编写一个bash脚本,其中我必须创建一个文件,其中包含主机的IP地址以及它们与相应MAC地址的映射的详细信息。 当主机的IP地址可用时,是否可以找到任何(远程)主机的MAC地址?

7
Linux相当于PowerShell的“一对多”远程处理
来自Windows管理,我想更深入地研究Linux(Debian)。我无法在网络上搜索(找不到)的最棘手的问题之一是:如何像在Windows PowerShell中那样实现所谓的“一对多”远程处理? 简而言之,我会说: 我对Linux的看法: 我可以进入服务器并输入命令 我得到结果。对于10个服务器的环境,我必须编写一个(perl / python?)脚本,为每个服务器发送命令? 我在Windows上的经验: 我键入命令,然后使用“调用命令”将其“发送”到一堆服务器(可能来自文本文件)以同时执行并返回结果(作为进一步工作的对象)。 我什至可以建立多个会话,连接保留在后台,然后有选择地向这些会话发送命令,并根据需要进行远程输入和输出。 (我听说过厨师,木偶等。是这样吗?) Update 2019: 尝试了很多之后-我建议使用Rex(请参阅下面的评论)-易于设置(实际上只需要ssh,不需要其他操作)并使用(如果您只知道一点点perl,效果会更好,但它是可选的) 与Rex(ify )您可以执行adhoc命令并将其推进到实际的配置管理中(...含义:它首先是CM,但也适用于addhoc任务)该网站已过时,但是目前(截至01/2019)它正在积极开发中,并且IRC通道也处于活跃状态。 使用Windows的新openssh,甚至还有更多可能性 你可以试试: rex -u user -p password -H 192.168.1.3 -e 'say run "hostname"'

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.