所以我在我们的一个机器上收到了来自我们的监控系统的警告,文件系统上的空闲 inode 数量越来越少。
df -i 输出显示:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/xvda1 524288 422613 101675 81% /
Run Code Online (Sandbox Code Playgroud)
如您所见,根分区使用了 81% 的 inode。
我怀疑它们都在一个目录中使用。但是我怎样才能找到它的位置呢?
我在 OS X 上尝试通过 ssh 连接到 ubuntu 12.04 服务器。我能够通过 SSH 进入 - 直到突然停止工作。我已经在线阅读以使用-v来调试它。输出如下所示。如果我 ssh 进入另一个盒子,然后从那个盒子 ssh 到服务器,我就可以登录。我不知道如何调试这个问题,但想学习。
$ ssh -v me@server
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 53: Applying options for *
debug1: Connecting to server [IP] port 22.
debug1: Connection established.
debug1: identity file /Users/me/.ssh/id_rsa type 1
debug1: identity file /Users/me/.ssh/id_rsa-cert type -1
debug1: identity file /Users/me/.ssh/id_dsa type -1
debug1: identity …Run Code Online (Sandbox Code Playgroud) 我的一台服务器设置为使用 fstab 自动挂载 Windows 目录。但是,在我上次重新启动后,它停止工作。fstab 中的行是:
//myserver/myfolder /mnt/backup cifs credentials=home/myfolder/.Smbcredentials
Run Code Online (Sandbox Code Playgroud)
该.Smbcredentials文件是:
username=myaccount
password=mypassword
domain=mydomain
Run Code Online (Sandbox Code Playgroud)
我做了一个mount -a,我收到了mount error 13 = Permission denied。如果我这样做足够了,它会锁定我的 Windows 帐户,所以我知道它正在尝试。我已经检查过我的密码是否正确。
我究竟做错了什么?
根据内核文档:
This control is used to define how aggressive the kernel will swap
memory pages. Higher values will increase aggressiveness, lower values
decrease the amount of swap.
Run Code Online (Sandbox Code Playgroud)
然而,这有点模糊。我试图弄清楚参数最终控制什么。我知道它会调整内核尝试换出页面的积极程度,但它会影响内核代码中的哪些决策过程?
它是否会在内核将其换出之前调整页面必须在多长时间前被访问?如果是这样,默认值 60 代表什么?增加/减少 1 会改变多少(公式会很好)?
或者它是否根据访问频率换出页面?
或者是其他东西?
我只是想知道为什么 Linux NFS 服务器是在内核中实现的,而不是用户空间应用程序?
我知道存在用户空间 NFS 守护程序,但这不是提供 NFS 服务器服务的标准方法。
我认为将 NFS 服务器作为用户空间应用程序运行将是首选方法,因为它可以提供额外的安全性,让守护程序在用户空间而不是内核中运行。它也符合做一件事并做好它的常见 Linux 原则(并且守护进程不应该是内核的工作)。
事实上,我能想到的在内核中运行的唯一好处是上下文切换带来的性能提升(这是一个有争议的原因)。
那么是否有任何记录在案的原因,为什么它是这样实施的?我尝试谷歌搜索,但找不到任何东西。
是否可以让系统抢先换出非活动页面 ( vm.swappiness),但在系统耗尽 RAM(而不是耗尽内存)并被迫交换时调用 oom-killer?
最终目标是防止系统在由于主要页面错误而开始抖动磁盘时停止运行,但仍然让不活动的页面被换出。
另一个愿望是配置系统在 oom-killer 触发之前强制使用多少交换内存。这样系统就可以稍微进行交换,只要它不会走得太远。或者我可以在使用所有 RAM 之前设置这样一个阈值来触发 oom-killer,这样文件系统缓存总是有空间(从而避免更多的磁盘抖动)。
这似乎并不难做到。似乎您可以告诉 oom-killer 在系统使用/空闲 X ram 时触发。但这就是我问的原因;我不知道。
为了澄清起见,我不打算关闭交换或调整vm.swappiness参数
我遇到了一个相当奇怪的问题,我在多台服务器上运行一个脚本 (Bash),但它在其中一台服务器上停止工作(在所有其他服务器上工作得很好)。
这是脚本的问题部分:(我不是自己写的,所有学分都归“Rich”所有)(http://www.notrainers.org/monitoring-memory-usage-on-linux-with-nagios-和-nrpe/ )
if [ "$result" -lt "$warn_level" ]; then #Line 56
echo "Memory OK. $result% used."
exit 0;
elif [ "$result" -ge "$warn_level" ] && [ "$result" -le "$critical_level" ]; then #Line 59
echo "Memory WARNING. $result% used."
exit 1;
elif [ "$result" -gt "$critical_level" ]; then #Line 62
echo "Memory CRITICAL. $result% used."
exit 2;
fi
Run Code Online (Sandbox Code Playgroud)
完整的错误信息:
./check_memory.sh: Line 56: [: 7.: integer expression expected
./check_memory.sh: Line 59: [: 7.: integer expression expected
./check_memory.sh: Line 62: …Run Code Online (Sandbox Code Playgroud) tree并且ls可以通过对文件名进行不同的着色来区分文件类型。
tree并且ls经常输出一长串文件(包括目录),所以我通过管道将标准输出输出到less.
但less不保留颜色。我们怎样才能让它显示颜色,或者一些其他的方式?
刚刚看到链表,但管道到less -R或less -r不起作用。我的操作系统是 Ubuntu 12.04。less是 444 版:2011 年 6 月 9 日。
我有一些必须在工作中使用的“公司”系统。其中一些很糟糕,有框架、弹出窗口等。
我正在考虑使用 curl 或类似的东西自动化一些东西。我需要登录,点击超链接,设置一些数据,然后他们做一些发布。
是否可以使用卷曲?或者我会更好地使用 Selenium 之类的东西吗?
Local: Linux Mint 15 - Olivia
/proc/version: Linux version 3.8.0-19-generic (buildd@allspice) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1) )
ssh -V: OpenSSH_6.1p1 Debian-4, OpenSSL 1.0.1c 10 May 2012
sshfs -V: SSHFS version 2.4
FUSE library version: 2.9.0
fusermount version: 2.9.0
using FUSE kernel interface version 7.18
Remote: Ubuntu 12.04.3 LTS
/proc/version: Linux version 3.10.9-xxxx-std-ipv6-64 (kernel@kernel.ovh.net) (gcc version 4.7.2 (Debian 4.7.2-5) )
ssh -V: OpenSSH_5.9p1 Debian-5ubuntu1.1, OpenSSL 1.0.1 14 Mar 2012
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用 sshfs 和 fuse 设置远程服务器的无密码安装。远程服务器在非标准端口上运行,我将使用 ssh 密钥对进行身份验证。
成功后,我将对另外三个远程服务器重复此操作,每个服务器都有不同的键,因此我确实需要能够指定哪些键映射到哪个远程服务器。
我的修改基于本教程
linux ×5
kernel ×2
memory ×2
swap ×2
bash ×1
curl ×1
filesystems ×1
fstab ×1
inode ×1
less ×1
linux-mint ×1
ls ×1
networking ×1
nfs ×1
performance ×1
samba ×1
ssh ×1
sshfs ×1
web ×1