我有一个运行 32GB 内存的 pfsense 盒子。我启用了 /var 和其他目录在 RAM 中,因为它有这么多空间并且想要提高性能。
你如何改变和增加 /var 在 RAM 中的大小?
我查看了设置,但没有看到更改大小的选项。
我想在我的 FreeBSD 环境下为所有用户设置默认的 http 代理。我通过添加 HTTP_PROXY 变量修改了 /etc/login.conf 文件:
default:\
:passwd_format=sha512:\
:copyright=/etc/COPYRIGHT:\
:welcome=/etc/motd:\
:setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\
:path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin ~/bin:\
:nologin=/var/run/nologin:\
:cputime=unlimited:\
:datasize=unlimited:\
:stacksize=unlimited:\
:memorylocked=64K:\
:memoryuse=unlimited:\
:filesize=unlimited:\
:coredumpsize=unlimited:\
:openfiles=unlimited:\
:maxproc=unlimited:\
:sbsize=unlimited:\
:vmemoryuse=unlimited:\
:swapuse=unlimited:\
:pseudoterminals=unlimited:\
:priority=0:\
:ignoretime@:\
:HTTP_PROXY=proxy-chain.server.com\c911:\
:umask=022:
并运行
# cap_mkdb /etc/login.conf
但在下一次登录 env 命令后不会显示变量。我究竟做错了什么?
主持人甲:
tar cf - stuff | dd | nc -N -l 12987
主持人乙:
nc a.example.com 12987 | dd | tar tf -
在主机 A 上完成dd
后打印其摘要tar
。因此很明显, tar 关闭了管道/文件 -> EOF
。
165040+0 记录 165040+0 记录输出 84500480 字节在 25.464802 秒内传输(3318325 字节/秒)
两个主机上都nc
愉快地坐在那里而不退出。
nc(1)
:
-N shutdown(2) the network socket after EOF on the input. Some
servers require this to finish their work.
因此,在主机 A 上nc
应该已经看到EOF
,关闭了该死的套接字,在主机 B 上nc
应该已经看到 TCP 连接终止并且应该已经关闭stdout
(stdin
的dd
/ tar
)。
如何告诉在主机 B 上nc
关闭stdout
/终止并在主机 A 上终止。
nc
漏洞?
-D
(调试)什么都不做。nc
连版本号都说不出来……唉
两台主机都是FreeBSD 10.3-RELEASE-p4,仅限 IPv4。
我在我的服务器上运行 10.0-RELEASE,我想知道一些事情。
如果我使用来自 svn 的官方源代码来构建世界,我将来是否可以使用 freebsd-update 进行升级,或者我必须使用这两种升级方法(二进制或 src)中的一种来解决?
谢谢
Qemu 或 Virtualbox 中的哪个操作系统可以在 x86 上实现最佳性能?
我只需要定期使用几个程序:tmux、vi(m)、curl、包管理器(主要用于安装库)、gcc/clang、git 等。
我不需要 X 或图形环境,尽管我更喜欢简约的环境,只要不牺牲性能,主要是因为终端仿真器(尤其是 mrxvt)比虚拟终端更快。
我现在倾向于 Gentoo、NetBSD、OpenBSD、DragonflyBSD 和 FreeBSD(按此顺序)。
我根据 FreeBSD 手册 ( http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails-application.html ) 在 FreeBSD 8.0 中设置了“服务监狱”。在将主机升级到最新的补丁级别并执行 jail-upgrade 之后,freebsd-fetch 仍然报告在 jail 中有需要更新的文件。这是预期的吗?那我怎么知道监狱是否是最新的?
在监狱的初始设置后freebsd-update fetch
报告主机系统和监狱中都没有可用的更新。这是意料之中的。一段时间后freebsd-update fetch
报告说,以下文件在主机和监狱中都需要更新。
我更新了主机并遵循了监狱的升级指南(http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails-application.html#JAILS-SERVICE-JAILS-UPGRADING)。freebsd-update fetch
现在报告主机中没有可用的更新,但以下是freebsd-update fetch
监狱中的输出:
[root@bb /]# freebsd-update fetch
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 8.0-RELEASE from update5.FreeBSD.org... done.
Fetching metadata index... done.
Inspecting system... done.
Preparing to download files... done.
The following files are affected by updates, but no changes have
been downloaded because the files have been modified locally:
/var/db/mergemaster.mtree
The following files will be updated as part of updating to 8.0-RELEASE-p2:
/usr/lib/libssl.a
/usr/lib/libssl_p.a
/usr/lib/libzpool.a
/usr/lib32/libssl.a
/usr/lib32/libssl_p.a
/usr/lib32/libzpool.a
freebsd-update 不应该知道监狱是最新的还是我升级失败了?如果 freebsd-update 无法判断,我应该如何知道监狱是否是最新的?
我确定我make cleandir
之前跑过两次make buildworld
。
TIA
我需要在 FreeBSD 上设置 NFS 服务器,我已经阅读了一些指南来尝试让它运行,但不能完全启动它。我正在运行服务器,但我似乎无法正确设置 /etc/exports 文件。我尝试了以下几行,但都给了我错误,说当我尝试并重新加载它时,它们是导出文件中的错误行。
/home -alldirs -network 192.168.1.106
/home machinename1
/home/user -network 192.168.1.0 -mask 255.255.255.0
我错过了什么,我应该检查什么?
我阅读了关于 HFSC 的原始SIGCOMM '97 PostScript 论文,它非常技术性,但我了解基本概念。您可以指定凸或凹服务曲线,而不是给出线性服务曲线(与几乎所有其他调度算法一样),因此可以将带宽和延迟解耦。然而,即使本文提到了正在使用的调度算法(实时和链路共享),它总是只提到每个调度类的一条曲线(解耦是通过指定这条曲线来完成的,只需要一条曲线) )。
现在已经使用ALTQ 调度框架为 BSD(OpenBSD、FreeBSD 等)实现了 HFSC,并且已经使用TC 调度框架(iproute2 的一部分)在 Linux 上实现了它。两种实现都添加了两条额外的服务曲线,这在原始论文中是没有的!实时服务曲线和上限服务曲线。再次请注意,原始论文提到了两种调度算法(实时和链接共享),但在那篇论文中,它们都使用一个单一的服务曲线。正如您目前在 BSD 和 Linux 中发现的那样,从来没有两条独立的服务曲线。
更糟糕的是,某些版本的 ALTQ 似乎为 HSFC 添加了额外的队列优先级(原始论文中也没有优先级这样的东西)。我发现有几个 BSD HowTo 提到了这个优先级设置(尽管最新的 ALTQ 版本的手册页不知道 HSFC 的这个参数,所以正式它甚至不存在)。
这一切都使得 HFSC 调度比原始论文中描述的算法更加复杂,并且互联网上有大量的教程经常相互矛盾,其中一个声称与另一个相反。这可能是为什么似乎没有人真正了解 HFSC 调度的真正工作原理的主要原因。在我提出问题之前,我们需要某种示例设置。我将使用一个非常简单的方法,如下图所示:
替代文字 http://f.imagehost.org/0177/hfsc-test-setup.png
以下是一些我无法回答的问题,因为教程相互矛盾:
我到底需要什么实时曲线?假设 A1、A2、B1、B2 都是 128 kbit/s 的链路共享(其中任何一个都没有实时曲线),那么如果根有 512 kbit/s 分配(并且A 和 B 当然都是 256 kbit/s),对吧?为什么还要给 A1 和 B1 一个 128 kbit/s 的实时曲线?这有什么好处?给这两个更高的优先级?根据原始论文,我可以通过使用曲线给它们更高的优先级,毕竟这就是 HFSC 的意义所在。通过给两个类一个 [256kbit/s 20ms 128kbit/s] 的曲线,它们的优先级都是 A2 和 B2 的两倍(平均仍然只有 128 kbit/s)
实时带宽是否计入链路共享带宽?例如,如果 A1 和 B1 都只有 64kbit/s 的实时带宽和 64kbit/s 的链路共享带宽,这是否意味着一旦通过实时为它们提供 64kbit/s 的服务,它们的链路共享要求也得到了满足(他们可能获得额外的带宽,但让我们暂时忽略它)或者这是否意味着他们通过链接共享获得了另外的 64 kbit/s?那么每个类是否都有实时加链接共享的带宽“要求”?或者如果链路共享曲线高于实时曲线(当前链路共享要求等于指定的链路共享要求减去已经提供给此的实时带宽),一个类是否只具有比实时曲线更高的要求?班级)?
上限曲线是否也适用于实时,仅适用于链接共享,或者可能适用于两者?有些教程说一种方式,有些人说另一种方式。甚至有人声称上限是实时带宽+链路共享带宽的最大值?真相是什么?
假设 A2 和 B2 都是 128 kbit/s,如果 A1 和 B1 仅是 128 kbit/s 链路共享,或 64 kbit/s 实时和 128 kbit/s 链路共享,是否有任何区别? ,有什么区别?
如果我使用单独的实时曲线来增加类的优先级,我为什么需要“曲线”呢?为什么实时不是一个固定值,链接共享也是一个固定值?为什么两条曲线?原始论文中明确需要曲线,因为每个类只有一个此类属性。但是现在,有了三个属性(实时、链接共享和上限),我还需要每个属性上的曲线做什么?为什么我希望曲线形状(不是平均带宽,而是它们的斜率)对于实时和链接共享流量是不同的?
根据可用的少量文档,内部类(A 类和 B 类)的实时曲线值完全被忽略,它们仅适用于叶类(A1、A2、B1、B2)。如果这是真的,为什么ALTQ HFSC 示例配置(搜索3.3 示例配置)设置内部类的实时曲线并声称这些设置了这些内部类的保证速率?这不是完全没有意义吗?(注意:pshare 在 ALTQ 中设置链路共享曲线并光栅化实时曲线;您可以在示例配置上方的段落中看到这一点)。
有的教程说所有实时曲线的总和不能高于线速的80%,也有的说不能高于线速的70%。哪一个是对的,或者他们可能都错了?
一个教程说你会忘记所有的理论。不管事情真的如何运作(调度程序和带宽分配),根据下面的“简化思维模型”想象这三条曲线:实时是此类将始终获得的保证带宽。link-share 是这个类想要完全满足的带宽,但是不能保证满足。如果有多余的带宽,该类甚至可能会获得比满足所需更多的带宽,但它可能永远不会使用超过上限所说的。要使所有这些工作,所有实时带宽的总和可能不会超过线路速度的 xx%(请参阅上面的问题,百分比会有所不同)。问题:这或多或少是准确的还是对 HSFC 的完全误解?
如果上述假设确实准确,那么该模型中的优先级在哪里?例如,每个类可能有一个实时带宽(保证)、一个链路共享带宽(不保证)和一个上限,但仍然有一些类比其他类具有更高的优先级需求。在那种情况下,我仍然必须以某种方式优先考虑,即使在这些类的实时流量中也是如此。我会按曲线的斜率优先考虑吗?如果是这样,哪条曲线?实时曲线?链接份额曲线?上限曲线?他们全部?我会给它们所有人相同的斜率还是每个不同的斜率以及如何找出正确的斜率?
我仍然没有失去希望,这个世界上至少存在一群真正了解 HFSC 并能够准确回答所有这些问题的人。这样做而不在答案中相互矛盾会非常好;-)