当前位置: 首页 > news >正文

网站出现wordpress重庆企业网站如何推广

网站出现wordpress,重庆企业网站如何推广,wordpress更改邮箱设置,关键词推广目录 官方链接 编译安装 ubuntu版本 安装 examples tools hello_world.py demo 运行报错 网上目前的解决办法 错误分析过程 python版本检测 libbcc库检查 python3 bcc库检查 正常输出 监控进程切换 运行输出 监控CPU直方图 缓存命中率监控#xff1a;caches… 目录 官方链接 编译安装 ubuntu版本 安装 examples tools hello_world.py demo 运行报错 网上目前的解决办法 错误分析过程 python版本检测 libbcc库检查 python3 bcc库检查 正常输出 监控进程切换 运行输出 监控CPU直方图 缓存命中率监控cachestat cachetop BCC开发指南 官方链接 主页https://github.com/iovisor/bcc bcc开发https://github.com/iovisor/bcc/blob/master/docs/tutorial_bcc_python_developer.md 编译安装 ubuntu版本 wjwj:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.2 LTS Release: 22.04 Codename: jammy安装 git clone https://github.com/iovisor/bcc.git mkdir bcc/build; cd bcc/build cmake .. make sudo make install cmake -DPYTHON_CMDpython3 .. # build python3 binding pushd src/python/ make sudo make install popd安装路径 /usr/share/bcc/tools 可以看到 /usr/share/bcc 目录下有4个文件夹examples  introspection  man  tools 。 在examples 文件下有一些简单的demo。tools文件下有 bcc的各种工具。 examples tools hello_world.py demo #!/usr/bin/python # Copyright (c) PLUMgrid, Inc. # Licensed under the Apache License, Version 2.0 (the License)# run in project examples directory with: # sudo ./hello_world.py # see trace_fields.py for a longer examplefrom bcc import BPF# This may not work for 4.17 on x64, you need replace kprobe__sys_clone with kprobe____x64_sys_clone BPF(textint kprobe__sys_clone(void *ctx) { bpf_trace_printk(Hello, World!\\n); return 0; }).trace_print() 上述 hello_world.py程序中会监测 kprobe__sys_clone 事件一旦内核监测到 kprobe__sys_clone 事件产生就会打印 Hello, World! 出来。 运行报错 wjwj:/usr/share/bcc/examples$ sudo python3 hello_world.py Traceback (most recent call last):File /usr/share/bcc/examples/hello_world.py, line 9, in modulefrom bcc import BPFFile /usr/lib/python3/dist-packages/bcc/__init__.py, line 27, in modulefrom .libbcc import lib, bcc_symbol, bcc_symbol_option, bcc_stacktrace_build_id, _SYM_CB_TYPEFile /usr/lib/python3/dist-packages/bcc/libbcc.py, line 20, in modulelib.bpf_module_create_b.restype ct.c_void_pFile /usr/lib/python3.10/ctypes/__init__.py, line 387, in __getattr__func self.__getitem__(name)File /usr/lib/python3.10/ctypes/__init__.py, line 392, in __getitem__func self._FuncPtr((name_or_ordinal, self)) AttributeError: /lib/x86_64-linux-gnu/libbcc.so.0: undefined symbol: bpf_module_create_b网上目前的解决办法 主要还是python版本问题,将python2切换为python3。而我这边显然不是这个问题因为我的机子上只有python3 错误分析过程 根据报错信息和报错相关的路径 /lib/x86_64-linux-gnu/libbcc.so.0 bcc库采用的libbcc.so.0 /usr/lib/python3/dist-packages/bcc 报错的bcc库 python版本检测 使用的均为python3,没有python2所以不存在版本问题。 libbcc库检查 wjwj:/usr/share/bcc/examples$ ls -lh /lib/x86_64-linux-gnu/ |grep libbcc -rw-r--r-- 1 root root 5.0M 11月 5 14:48 libbcc.a -rw-r--r-- 1 root root 1.5M 11月 5 14:46 libbcc_bpf.a lrwxrwxrwx 1 root root 15 1月 19 2021 libbcc_bpf.so - libbcc_bpf.so.0 lrwxrwxrwx 1 root root 20 11月 5 14:54 libbcc_bpf.so.0 - libbcc_bpf.so.0.28.0 -rw-r--r-- 1 root root 51K 1月 19 2021 libbcc_bpf.so.0.18.0 -rw-r--r-- 1 root root 2.8M 11月 5 14:48 libbcc_bpf.so.0.28.0 -rw-r--r-- 1 root root 243K 11月 5 14:47 libbcc-loader-static.a lrwxrwxrwx 1 root root 11 1月 19 2021 libbcc.so - libbcc.so.0 lrwxrwxrwx 1 root root 16 11月 5 14:54 libbcc.so.0 - libbcc.so.0.28.0 -rw-r--r-- 1 root root 3.3M 1月 19 2021 libbcc.so.0.18.0 -rw-r--r-- 1 root root 105M 11月 5 14:47 libbcc.so.0.28.0 可以看到libbcc库的实际指向为 libbcc.so.0 - libbcc.so.0.28.0 根据报错内容python库需要bpf_module_create_b而libbcc.so.0.28.0中没有 可以通过以下命令查看 wjwj:/usr/share/bcc/examples$ strings /lib/x86_64-linux-gnu/libbcc.so.0.28.0 |grep bpf_module_create_ bpf_module_create_c bpf_module_create_c_from_string bpf_module_create_c.cold bpf_module_create_c_from_string.cold bpf_module_create_c bpf_module_create_c_from_string 此时注意到上一个步骤中的libbcc.so.0.18.0同样进行bpf_module_create_b检查 wjwj:/usr/share/bcc/examples$ strings /lib/x86_64-linux-gnu/libbcc.so.0.18.0 |grep bpf_module_create_ bpf_module_create_b bpf_module_create_c bpf_module_create_c_from_string 发现存在bpf_module_create_b即便不进行时间对比通过版本号0.18.0与0.28.0也知道 python3的bcc库竟然请求的是老版(0.18.0)的bcc lib库 python3 bcc库检查 wjwj:/usr/share/bcc/examples$ ll /usr/lib/python3/dist-packages/bcc/ 总计 212 drwxr-xr-x 3 root root 4096 10月 4 15:36 ./ drwxr-xr-x 155 root root 12288 11月 5 14:56 ../ -rw-r--r-- 1 root root 2566 1月 19 2021 containers.py -rw-r--r-- 1 root root 20914 1月 19 2021 disassembler.py -rw-r--r-- 1 root root 58581 1月 19 2021 __init__.py -rw-r--r-- 1 root root 12951 1月 19 2021 libbcc.py -rw-r--r-- 1 root root 4693 1月 19 2021 perf.py drwxr-xr-x 2 root root 4096 10月 4 15:36 __pycache__/ -rw-r--r-- 1 root root 9656 1月 19 2021 syscall.py -rw-r--r-- 1 root root 40588 1月 19 2021 table.py -rw-r--r-- 1 root root 1604 1月 19 2021 tcp.py -rw-r--r-- 1 root root 9102 1月 19 2021 usdt.py -rw-r--r-- 1 root root 4904 1月 19 2021 utils.py -rw-r--r-- 1 root root 23 1月 19 2021 version.py 根据文件时间可以确定确实都是21年的老库遂进行替换先查找bcc源码中的bcc python库 wjwj:/usr/share/bcc/examples$ find / -name libbcc.py -ls 2/dev/null408370 16 -rw-rw-r-- 1 wj wj 14561 11月 5 14:44 /home/wj/bcc/build/src/python/bcc-python3/bcc/libbcc.py408643 16 -rw-r--r-- 1 root root 14561 11月 5 14:44 /home/wj/bcc/build/src/python/bcc-python3/build/lib/bcc/libbcc.py407310 16 -rw-rw-r-- 1 wj wj 14561 11月 5 14:43 /home/wj/bcc/src/python/bcc/libbcc.py4496431 16 -rw-r--r-- 1 root root 12951 1月 19 2021 /usr/lib/python3/dist-packages/bcc/libbcc.pywjwj:/usr/share/bcc/examples$ cp -r /home/wj/bcc/build/src/python/bcc-python3/bcc/* /usr/lib/python3/dist-packages/bcc/ cp: 无法创建普通文件 /usr/lib/python3/dist-packages/bcc/containers.py: 权限不够 cp: 无法创建普通文件 /usr/lib/python3/dist-packages/bcc/disassembler.py: 权限不够 cp: 无法创建普通文件 /usr/lib/python3/dist-packages/bcc/__init__.py: 权限不够 cp: 无法创建普通文件 /usr/lib/python3/dist-packages/bcc/libbcc.py: 权限不够 cp: 无法创建普通文件 /usr/lib/python3/dist-packages/bcc/perf.py: 权限不够 cp: 无法创建普通文件 /usr/lib/python3/dist-packages/bcc/syscall.py: 权限不够 cp: 无法创建普通文件 /usr/lib/python3/dist-packages/bcc/table.py: 权限不够 cp: 无法创建普通文件 /usr/lib/python3/dist-packages/bcc/tcp.py: 权限不够 cp: 无法创建普通文件 /usr/lib/python3/dist-packages/bcc/usdt.py: 权限不够 cp: 无法创建普通文件 /usr/lib/python3/dist-packages/bcc/utils.py: 权限不够 cp: 无法创建普通文件 /usr/lib/python3/dist-packages/bcc/version.py: 权限不够 sudo cp -r /home/wj/bcc/build/src/python/bcc-python3/bcc/* /usr/lib/python3/dist-packages/bcc/ 参考AttributeError: /lib/x86_64-linux-gnu/libbcc.so.0: undefined symbol: bpf_module_create_b-CSDN博客 正常输出 可以看到 内核捕获到了 kprobe__sys_clone 事件并打印出 Hello, World! 出来。 监控进程切换 //task_switch.py #!/usr/bin/python # Copyright (c) PLUMgrid, Inc. # Licensed under the Apache License, Version 2.0 (the License)from bcc import BPF from time import sleepb BPF(src_filetask_switch.c) b.attach_kprobe(event_re^finish_task_switch$|^finish_task_switch\.isra\.\d$,fn_namecount_sched)# generate many schedule events for i in range(0, 100): sleep(0.01)for k, v in b[stats].items():print(task_switch[%5d-%5d]%u % (k.prev_pid, k.curr_pid, v.value)) k.prev_pid 表示上一个进程的 pid k.curr_pid 表示切换到当前进程 pid task_switch.c #include uapi/linux/ptrace.h #include linux/sched.hstruct key_t {u32 prev_pid;u32 curr_pid; };BPF_HASH(stats, struct key_t, u64, 1024); int count_sched(struct pt_regs *ctx, struct task_struct *prev) {struct key_t key {};u64 zero 0, *val;key.curr_pid bpf_get_current_pid_tgid();key.prev_pid prev-pid;// could also use stats.increment(key);val stats.lookup_or_try_init(key, zero);if (val) {(*val);}return 0; } 运行输出 wjwj:/usr/share/bcc/examples/tracing$ sudo python3 task_switch.py [sudo] wj 的密码 task_switch[ 879- 0]1 task_switch[ 0-14938]2 task_switch[14959- 0]1 task_switch[ 0-14964]2 task_switch[ 0- 71]2 task_switch[ 0-15021]1 task_switch[14969-14939]1 task_switch[11713- 0]1 task_switch[ 52- 0]1 task_switch[ 0- 809]4 task_switch[ 2402- 0]6 task_switch[ 928- 0]1 task_switch[ 5247- 0]3 task_switch[ 0- 437]3 task_switch[ 0- 7458]6 task_switch[ 0-14986]1 task_switch[11411- 0]3 task_switch[ 2674- 0]5 task_switch[15064- 0]1 task_switch[ 8767- 0]48 task_switch[14939-14969]1 task_switch[14998- 0]1 task_switch[ 0-14921]2 task_switch[14986-14959]2 task_switch[ 0-15194]1 task_switch[ 0- 16]1 task_switch[ 0- 15]14 task_switch[ 901-15194]1 task_switch[ 22- 0]1 task_switch[ 1816- 0]7 task_switch[ 0- 40]1 task_switch[14959-14986]1 task_switch[ 0- 901]1 task_switch[14577- 0]1 task_switch[ 0- 5247]3 task_switch[ 58- 0]1 task_switch[14938- 0]2 task_switch[ 0-11411]3 task_switch[ 34- 0]1 task_switch[15194- 0]2 task_switch[ 0- 58]1 task_switch[ 0- 28]1 task_switch[ 7458- 0]7 task_switch[ 0-15010]3 task_switch[ 926- 0]1 task_switch[14921- 0]2 task_switch[ 46- 0]1 task_switch[14964- 0]3 task_switch[15030- 0]3 task_switch[ 15- 0]14 task_switch[ 40- 0]1 task_switch[ 0-14374]5 task_switch[ 0-15064]1 task_switch[15129- 0]1 task_switch[ 0- 8767]47 task_switch[ 0-15129]1 task_switch[ 809- 0]3 task_switch[14374- 0]5 task_switch[ 0- 2674]5 task_switch[ 0- 34]1 task_switch[ 0- 926]1 task_switch[ 0-15211]100 task_switch[14969- 0]1 task_switch[ 0-14969]1 task_switch[ 0-11713]1 task_switch[ 437- 0]3 task_switch[ 835- 0]11 task_switch[ 2035- 0]11 task_switch[ 8767- 29]10 task_switch[ 0-14577]1 task_switch[ 0- 1816]7 task_switch[ 0-14998]1 task_switch[ 0- 928]1 task_switch[15010- 0]3 task_switch[ 0- 2402]6 task_switch[ 0-14981]1 task_switch[ 0- 2142]1 task_switch[ 953- 0]1 task_switch[ 29- 8767]10 task_switch[ 835- 8767]1 task_switch[ 0- 835]12 task_switch[ 28- 0]1 task_switch[ 0- 953]1 task_switch[ 0- 2035]11 task_switch[14981-14964]1 task_switch[ 809- 7458]1 task_switch[ 1702- 0]1 task_switch[ 0- 52]1 task_switch[ 16- 0]1 task_switch[ 0- 879]1 task_switch[ 0-15030]3 task_switch[15211- 0]100 task_switch[ 0- 22]1 task_switch[ 71- 0]2 task_switch[15021- 0]1 task_switch[ 0- 46]1 task_switch[ 2142- 0]1监控CPU直方图 tools/cpudist: Summarize on- and off-CPU time per task as a histogram. tools/cpudist将每个任务的 CPU 开启和关闭时间总结为直方图。 wjwj:/usr/share/bcc/tools$ sudo python3 ./cpudist Tracing on-CPU time... Hit Ctrl-C to end. ^Cusecs : count distribution0 - 1 : 5 |* |2 - 3 : 38 |******** |4 - 7 : 106 |*********************** |8 - 15 : 134 |****************************** |16 - 31 : 156 |*********************************** |32 - 63 : 177 |****************************************|64 - 127 : 142 |******************************** |128 - 255 : 63 |************** |256 - 511 : 79 |***************** |512 - 1023 : 21 |**** |1024 - 2047 : 7 |* |2048 - 4095 : 1 | |4096 - 8191 : 1 | | wjwj:/usr/share/bcc/tools$ 缓存命中率监控cachestat tools/cachestat: Trace page cache hit/miss ratio. Examples. sudo python3 ./cachestat cachetop sudo python3 ./cachetop 以上都是自定义在 examples 和 tools 中的工具。如果需要自己开发 bcc 程序那应该怎么样使用呢可以参考如下链接。 BCC开发指南 https://github.com/iovisor/bcc/blob/master/docs/tutorial_bcc_python_developer.md
http://www.w-s-a.com/news/271104/

相关文章:

  • 网站降权恢复淘宝 网站建设
  • 安州区建设局网站台州优秀关键词优化
  • 网站假设教程湖南微信管理系统
  • 网站备案属于公司哪一块哪个网站是专门做封面素材
  • 广州个人做网站内江建设局网站
  • 网站开发 360百科大连哪里有手机自适应网站建设维护
  • 如何查网站pv网站功防教程
  • 建设银行网站信息补充营销推广的作用
  • 网站见建设seo外链自动群发工具
  • 在境外做网站网站团购网站seo
  • 进网站后台加什么360推广 网站建设
  • 网站备案号码专做网站漏扫的工具
  • 罗店网站建设wordpress响应式
  • 网站怎么制作小程序wordpress实时获取qq资料
  • 网站的流量怎么赚钱经销做网站都有什么好处
  • 如何做好网站首页企术建站
  • 杭州网站建设咨询蓝韵网络聊城有制作网站的吗
  • 网站开发注意的事项深圳企业网站
  • 哈尔滨网站制作哪里专业网站建设维护有哪些内容
  • 花的网站建设规划书网络营销培训
  • 又拍云wordpress全站cdn无锡做网站品牌公司
  • 计算机网络工程网站建设黄石建设信息网站
  • 旅游网站开发毕业设计开题报告青岛网站建设服务公司
  • 人员调动在网站上怎么做网站开发课程意见和建议
  • 卓训网是个什么网站wordpress命令执行时间
  • 网站建设需要做哪些工作网片焊接
  • 网站优化方案dedecms win8风格网站模板
  • 企业如何制作网站管理系统慈溪住房和城乡建设部网站
  • 青岛网站建设有哪些公司区块链网站开发价格
  • 怎么设置网站的logo微信公众号的h5网站开发6