小编Bea*_*ais的帖子

CentOS 7 执行cron 脚本时启动太快网络未就绪

我刚刚从 CentOS 6.5 升级到 7.0,我不太高兴,因为新版本systemd可能给我带来了问题。似乎只是启动太快,异步启动进程并搞砸了服务依赖项。

例如,我有一些脚本设置,crond在重启后触发:

@reboot    /root/scripts/check_gmail.sh
@reboot    /root/scripts/start_gps_listener.sh
Run Code Online (Sandbox Code Playgroud)

这会导致各种奇怪的错误(仅显示其中一个):

Warning: stream_socket_client(): unable to connect to tcp://192.168.20.4:4001 
  (Network is unreachable) in /root/scripts/check_gmail.php on line 137
  ERROR: Network is unreachable (101)
Run Code Online (Sandbox Code Playgroud)

在上面我写到一个 TCP 套接字。我很清楚这crond是在网络正确初始化为network is unreachable.

Apache 和 MySQL (MariaDB) 也是如此。MySQL 启动很慢(大量数据),这意味着 Apache 和我的许多crond启动脚本都失败了,因为在调用脚本时 MySQL 数据库没有运行。

我试图设置依赖项,但没有任何运气;我已将networkmysql服务附加到[Unit](如 所见systemctl list-dependencies)。理想情况下,所有服务都会等到 MySQL 启动并运行:

vi /lib/systemd/system/httpd.service
  [Unit]
  Description=The Apache HTTP Server
  After=network.target remote-fs.target nss-lookup.target network.service …
Run Code Online (Sandbox Code Playgroud)

centos systemd

9
推荐指数
1
解决办法
2万
查看次数

Samba 4 通过 Windows 访问映射驱动器时 CPU 使用率高

我注意到当我从 Windows 访问我的 Samba 共享时,smbd守护进程将始终使用大约 10-20% 的 CPU - 无论是否从 Windows 使用该共享。即使我关闭共享/窗口,smbd也会继续使用 CPU,只有重新启动/关闭我的 Windows 才能使 CPU 使用率降至正常。

这是我刚刚重新启动/启动我的 Windows 时 - 共享已映射但尚未访问。在我访问它之前,它将在 Windows 中具有此“红色”状态:

重新启动后从 Windows 中看到的共享

在我做任何其他事情之前,我检查了我的 Linux 上的smbstatustop

重启后的 smbstatus

到目前为止没有问题 - CPU 使用率根本不明显,top所以一切仍然很好。

但是……当我从 Windows 访问共享时,Linux CPU 立即提升到 10-20%:

访问驱动器时 CPU 使用率高

并且smbstatus总是显示一些锁定的(?)文件,这些文件肯定(?)不能从我的 Windows 访问:

访问映射驱动器时访问的文件

testparm显示我的smb.conf配置:

桑巴配置文件

我可以“解决这个问题”的唯一方法是重新启动我的 Windows 或取消映射驱动器/共享。

还有一件奇怪的事情——当我取消了共享/驱动器的映射时,我当然仍然可以通过 UNC 访问共享……而当通过 UNC 访问它时,它根本不会提高 CPU!?奇怪的!

我的硬件是最新的/最新的:

服务器:Core i5 1.5-2.9GHz 双核/HT 16GB RAM Samsung 850 Pro (512GB)

客户端:Windows 8.1

我在 …

linux centos samba windows

6
推荐指数
1
解决办法
9213
查看次数

标签 统计

centos ×2

linux ×1

samba ×1

systemd ×1

windows ×1