LinuxÉ豸ģÐÍ
¿´LDD3ÖÐÉ豸ģÐÍÒ»Õ£¬¾õµÃ˼άÓÐЩ»ìÂÒ¡£ÕâÀï´ÓÕûÌåµÄ½Ç¶ÈÀ´ÀíÀí˼·¡£
±¾ÎÄ´ÓËĸö·½ÃæÀ´×ܽáһЩÄÚÈÝ£º
1.µ×²ãÊý¾Ý½á¹¹£ºkobject,kset.
2.linuxÉ豸ģÐͲã´Î¹ØÏµ£ºbus_type,device,device_driver.
3.¼¯³É£ºPCIÉ豸Çý¶¯Ä£ÐÍʵÀý¼°É豸£¬É豸Çý¶¯×¢²áÔ´ÂëµÄ¼òµ¥·ÖÎö.
4.ÃæÏò¶ÔÏóµÄ˼ÏëÔÚlinuxÉ豸ģÐÍÖеÄÓ¦Ó÷ÖÎö.
Ò»¡¢µ×²ãÊý¾Ý½á¹¹£ºkobject,kset
ÏÈ˵˵ģÐ͵ÄÒâÒå:
×ÜÌåÀ´ËµÊÇΪÁËϵͳµØ¹ÜÀíËùÓÐÉ豸¡£
kobject
½áºÏÃæÏò¶ÔÏóµÄ˼ά¡£Õâ¸ökobjectÊôÓÚ×î»ù´¡µÄ½á¹¹£¬Ò²¾ÍÊÇ×î¸ß³éÏó²ã(ÓеãÏñjavaÖеÄCobjectÀà)¡£ÈκÎÒ»¸öÉ豸ģÐÍÈç×ÜÏߣ¬É豸£¬Çý¶¯¶¼ÊôÓÚÒ»¸ökobject ¡£ÔÚʵÏÖÉÏÕâÖÖÅÉÉú¹ØÏµ¾ÍÊÇÔڽṹÌåÖаüº¬Ò»¸ökobjectµÄ±äÁ¿¡£
Õâ¸öÔÚ²ã´ÎÉÏ´¦Àí×î¶¥²ãµÄkobject½á¹¹ÌṩÁËËùÓÐÄ£ÐÍÐèÒªµÄ×î»ù±¾µÄ¹¦ÄÜ£º
1 ÒýÓüÆÊý ÓÃÓÚÄÚºËά»¤Æä´æÔÚÓëÏûÍö
2 sysfs±íʾ ÿ¸ösys/ϵĶÔÏó¶ÔÓ¦×ÅÒ»¸ökobject¡£
3 ÈȰβåʼþ´¦Àí¡£ ´¦ÀíÉ豸µÄÈȰβåʼþ¡£
Kobjects ÔÚÄÚºËÖжÔÓ¦ÓÐÒ»Ì×ÉêÇ룬³õʼ»¯£¬Ìí¼Ó£¬×¢²á£¬¼ÆÊý²Ù×÷£¬ÊͷŵȺ¯Êý
struct kobject {
const char * k_name; Ãû
char name[KOBJ_NAME_LEN];
struct kref kref; ¼ÆÊý
struct list_head entry; ÓÃÓÚÁ¬½Óµ½Í¬ÀàkobjectsµÄÁ´±í
struct kobject * parent; ÓÃÓÚʵÏÖ²ã´Î£¬Ö¸ÏòÆä¸¸¶ÔÏó¡£
struct kset * kset; ÓÃÓÚʵÏÖ²ã´Î£¬ËùÊôµÄ¼¯ºÏ
struct kobj_type * ktype; Ö¸Ïò¶ÔÏóµÄÀàÐÍ¡£
struct dentry * dentry; ָʾÔÚsysfs ÖеÄĿ¼Ïî
wait_queue_head_t poll;
}; (linux 2.6.18)
Kset ºÍkobj_type struct kset {
struct subsystem * subsys; ÔÚ×îÐÂÄÚºËÖÐÒѾûÓÐsubsys¸ÅÄîÁË¡£Í³Ò»ÓÃksets
struct kobj_type * ktype; ÀàÐÍ¡£
struct list_head list; ͬһksetµÄÁ´±í
spinlock_t list_lock;
struct kobject kobj; ×ÔÉí
Ïà¹ØÎĵµ£º
ÏÖÔÚǶÈëÊ½Ò²Íæ¶àºËÁË¡£
ÀûÓÃ./mpstat -P ALL 1 100 ¿ÉÒÔÀ´²é¿´cpuµÄʹÓÃÇé¿ö¡£
Õâ¸öÊÇתµÄÒ»¸öÀý×Ó£º
ÔÚ¶àCPUµÄÇ÷ÊÆÔ½À´Ô½´óÁË. ÓÐʱºòΪÁ˸üºÃµØ²Ù×÷»úÆ÷, ÐèÒª½«Ä³¸ö½ø³Ì°ó¶¨µ½¾ßÌåµÄCPUÉÏÈ¥. ÏÂÃæ¸ø³öÁËÒ»¸ö½ø³Ì°ó¶¨µ½¾ßÌåµÄCPUÉÏÈ¥µÄÒ»¸öÀý×Ó.
view plaincopy to clipboardprint?
···&midd ......
ÓÉÓÚ32λ²Ù×÷ϵͳÏÂÃæµ¥½ø³Ì×î´óÄÚ´æÊ¹Óò»Äܳ¬¹ý2G£¬¶øÎÒÃÇÓÃMemcached¾³£ÐèҪʹÓøü´óµÄÄÚ´æ¿Õ¼ä£¬ËùÒÔÑ¡Ôñ64λµÄLinux°æ±¾ÊDZØÐëµÄ£¬64λOSϵÄMemcached°²×°ºÍ32λOSϲ¶à£¬Ö»ÓÐÒ»¸öµØ·½ÉÔÓв»Í¬£¬Ïê¼ûÏÂÃæµÄºìÉ«×ÖÌ岿·Ö¡£
ÎÒÃÇÒÔ°æ±¾memcached-1.2.6ΪÀý£¬¶ÔÓÚÆäËû°æ±¾Ìæ»»ÏàÓ¦°æ±¾ºÅ¼´¿É£»
ÏÂÔØµØÖ·£ºhttp://w ......
Ò» ÈýÖÖÀàÐ͵ÄÌ×½Ó×Ö£º
1.Á÷ʽÌ×½Ó×Ö£¨SOCKET_STREAM)
Ìá¹©ÃæÏòÁ¬½ÓµÄ¿É¿¿µÄÊý¾Ý´«Êä·þÎñ¡£Êý¾Ý±»¿´×÷ÊÇ×Ö½ÚÁ÷£¬ÎÞ³¤¶ÈÏÞÖÆ¡£ÀýÈçFTPÐÒé¾Í²ÉÓÃÕâÖÖ¡£
2.Êý¾Ý±¨Ê½Ì×½Ó×Ö£¨SOCKET_DGRAM£©
ÌṩÎÞÁ¬½ÓµÄÊý¾Ý´«Êä·þÎñ£¬²»±£Ö¤¿É¿¿ÐÔ¡£
3.ÔʼʽÌ×½Ó×Ö£¨SOCKET_RAW£©
......
Ò»¡¢LinuxÄÚºËÄ£¿éµÄ¹ÜÀí
1¡¢lsmod ÁмÓÒÔ¹ÒÔØµÄÄÚºËÄ£¿é£»
lsmod ÊÇÁгöĿǰϵͳÖÐÒѼÓÔØµÄÄ£¿éµÄÃû³Æ¼°´óСµÈ£»ÁíÍâÎÒÃÇ»¹¿ÉÒԲ鿴 /proc/modules £¬ÎÒÃÇÒ»Ñù¿ÉÒÔÖªµÀϵͳÒѾ¼ÓÔØµÄÄ£¿é£»
´úÂë:
[root@localhost beinan]# lsmod
2¡¢modinfo ²é¿´Ä£¿éÐÅÏ¢£»
modinfo ¿ÉÒԲ鿴ģ¿éµ ......