它有一些統計每個協議和每個協議在Linux中的總結方法。
不幸的是man 5 proc
在RHEL 6.5上對/proc/net/protocols
沒有任何說明。所以我看了一下來源:http://lxr.free-electrons.com/source/net/core/sock.c?v=2.6.29#L2202和http://lxr.free-electrons.com/source/include/net/sock.h#L924。
2169 static void proto_seq_printf(struct seq_file *seq, struct proto *proto)
2170 {
2171 seq_printf(seq, "%-9s %4u %6d %6d %-3s %6u %-3s %-10s "
2172 "%2c %2c %2c %2c %2c %2c %2c %2c %2c %2c %2c %2c %2c %2c %2c %2c %2c %2c %2c\n",
2173 proto->name,
2174 proto->obj_size,
2175 sock_prot_inuse_get(seq_file_net(seq), proto),
2176 proto->memory_allocated != NULL ? atomic_read(proto->memory_allocated) : -1,
2177 proto->memory_pressure != NULL ? *proto->memory_pressure ? "yes" : "no" : "NI",
2178 proto->max_header,
2179 proto->slab == NULL ? "no" : "yes",
2180 module_name(proto->owner),
2181 proto_method_implemented(proto->close),
2182 proto_method_implemented(proto->connect),
2183 proto_method_implemented(proto->disconnect),
2184 proto_method_implemented(proto->accept),
2185 proto_method_implemented(proto->ioctl),
2186 proto_method_implemented(proto->init),
2187 proto_method_implemented(proto->destroy),
2188 proto_method_implemented(proto->shutdown),
2189 proto_method_implemented(proto->setsockopt),
2190 proto_method_implemented(proto->getsockopt),
2191 proto_method_implemented(proto->sendmsg),
2192 proto_method_implemented(proto->recvmsg),
2193 proto_method_implemented(proto->sendpage),
2194 proto_method_implemented(proto->bind),
2195 proto_method_implemented(proto->backlog_rcv),
2196 proto_method_implemented(proto->hash),
2197 proto_method_implemented(proto->unhash),
2198 proto_method_implemented(proto->get_port),
2199 proto_method_implemented(proto->enter_memory_pressure));
2200 }
所以這是每個協議提供的關於它自己的信息。
讓我們從有很多「y」和「n」的最後部分開始。
2164 static char proto_method_implemented(const void *method)
2165 {
2166 return method == NULL ? 'n' : 'y';
2167 }
所以它只是一個信息,如果一個特定的方法在協議中實現或沒有。例如,「cl」列用於close方法。例如由於TCP具有「y」爲「關閉」列,以便TCP協議實現接近()及其原strcut具有非空指針在「關閉」成員:
924 struct proto {
925 void (*close)(struct sock *sk,
926 long timeout);
一些在所述第一列outpit:
- 協議名稱
- 尺寸協議專用插座結構
- 插座 - 有多少套接字現在也有這種類型的
- 內存 - 當前分配的內存
- 按 - memory_pressure - 這是一個標誌,指示內存壓力下工作
,到目前爲止,你可以看看源自己
相關鏈接:
aehm,什麼? ... – hek2mgl