我有一台使用 Arch Linux 和 Ubuntu (16.04) 双重启动的机器。
我最近开始使用Kakoune 文本编辑器,并注意到它的启动时间根据我使用的操作系统而有很大不同。但我相信根本问题并不是由kakoune 直接造成的。
启动时,kakoune 运行一堆 shell 脚本,以启用与 x11 和 tmux、git、语法突出显示/颜色方案等的集成。可以禁用此功能,以便仅使用标志加载“vanilla”编辑器-n。
命令:kak -e q将启动 kakoune,运行所有启动脚本并立即退出。
在 Arch 上:
time kak -e q需要1 秒
time kak -n -e q(无 shell 脚本),不到20 毫秒即可完成。
在 Ubuntu 上:
time kak -e q大约需要450 毫秒
time kak -n -e q,再次低于20 毫秒
在削减脂肪并删除一些启动脚本之后,我确实看到两个操作系统的改进与删除的数量成比例。
我使用UnixBench运行了一些基准测试,发现两个系统之间的主要差异体现在“进程创建”和“shell 脚本”测试中。
shell 脚本测试测量进程每分钟可以启动并获取 shell 脚本的一组(一个、两个、四个和八个并发副本)的次数,其中 shell 脚本对数据文件应用一系列转换。
这是相关的输出。“每秒循环次数”的单位越多越好: …
performance system-programming shell-script strace benchmark
我最近为自己购买了一台 HP 机架服务器,用作个人文件服务器。该服务器目前位于我的床下,因为我没有其他地方可以放置它。对于那些不知道的人(因为我不完全知道),这个服务器非常吵。
我需要能够在白天的很多时间访问我的文件,并且由于我的服务器的情况,每天晚上在墙上将其关闭(它喜欢突然没有明显原因地启动)是'确实不是一个选择。我真的很希望服务器能够一直保持开机状态,但在不使用时进入睡眠状态,这样风扇就可以通过 LAN 关闭(如果没有其他情况)。服务器也运行 Debian。
如果由于某种原因无法进行这种设置,我可以满足于让机器在一天中的某个时间(或晚上)关闭并在早上再次启动,或者类似的效果。
除了使用 LAN 唤醒/睡眠之外,我对如何完成此类任务知之甚少。
来自 Robert Love 的Linux System Programming (2007, O'Reilly),这是第一段(第 1 章,第 10 页)中给出的内容:
文件位置的最大值仅受用于存储它的 C 类型大小的限制,在当代 Linux 中为 64 位。
但在下一段中,他说:
文件可能为空(长度为零),因此不包含有效字节。与最大文件位置一样,最大文件长度仅受 Linux 内核用于管理文件的 C 类型大小的限制。
我知道这可能非常非常基本,但是他是说文件大小受FILE数据类型或int数据类型的限制吗?
Linux 下有没有针对开发者的 SDK?我的意思不仅仅是手册页,它更像是 Windows 下的 MSDN 库或 Windows SDK,其中有关编程和开发人员指南的所有文档都在一个地方记录和构建。
C 为系统调用提供了诸如 write(),read().. 等库函数。如何在不使用 Linux 中的任何库的情况下在 C 中进行系统调用?
benchmark ×1
debian ×1
development ×1
file-server ×1
files ×1
hp ×1
limit ×1
linux ×1
man ×1
performance ×1
programming ×1
shell-script ×1
strace ×1
system-calls ×1