c_count

bcc-tools工具之profile

我们两清 提交于 2021-01-16 01:58:19
profile是用于追踪程序执行调用流程的工具,类似于perf中的-g指令 相比perf -g而言,profile功能化更加细分,可以根据需要选择追踪层面,例如-U(用户要调用流程) -K (内核态调用流程) 下面具体介绍该工具的使用 采用profile --help,我们可以看到如下介绍: usage: profile [-h] [-p PID] [-U | -K] [-F FREQUENCY | -c COUNT] [-d] [- a] [ -f] [--stack-storage-size STACK_STORAGE_SIZE] [- C CPU] [duration] Profile CPU stack traces at a timed interval positional arguments: duration duration of trace, in seconds # profile的持续时间 optional arguments: -h, -- help show this help message and exit -p PID, -- pid PID profile this PID only # 只追踪该pid的调用流程 -U, --user-stacks- only                   # 查看用户态函数调用流程 show stacks

Asp.Net WebApi Swagger终极搭建

隐身守侯 提交于 2020-12-13 21:50:23
【PS:原文手打,转载说明出处, 博客园 】 关于为什么用Swagger   目前稍微有点规模的公司,已经从原先的瀑布流开发到了敏捷开发,实现前后端分离,为此后端工程师只关注写好Api即可,那程序员最讨厌的就是写Api文档了,故而产生了Swagger。 Swagger原理   Swagger就是利用反射技术遍历所有Api接口,并且从xml文件中读取注释,在利用Swagger内置的模板组合html显示至客户端实现接口可视化,并且可调用。 Asp.net WebApi Swagger集成   1:vs2017,新建web项目,选择WebApi   2:删除Views、Scripts、Models、fonts、Content、Areas目录   3:删除RouteConfig.cs、FilterConfig.cs、BundleConfig.cs   4:删除HomeController.cs   5:Global.asax中删除异常代码   6:nuget搜索Swagger,安装 Swashbuckle   7:右键项目——》属性——》生成——》输出——》勾选XML文档文件——》保存   8:修改SwaggerConfig.cs     新增方法,释放c.IncludeXmlComments(GetXmlCommentsPath());的注释(注意:例如返回值为对象,然后又不在同一个项目

linux gcc++漏洞:普通用户获得root权限

纵然是瞬间 提交于 2020-08-16 22:39:35
linux gcc++漏洞:普通用户获得root权限 *本内容参考自他人博客文章* Crushlinux 已经在RHEL5.5 32上测试过 原理:The GNU C library dynamic linker expands $ORIGIN in setuid library search path 1、创建一个普通测试用户: [root@crushlinux4 ~]# useradd test [root@crushlinux4 ~]# passwd test Changing password for user test. New UNIX password: BAD PASSWORD: it is too short Retype new UNIX password: passwd: all authentication tokens updated successfully. 2、切换到这个用户: [root@crushlinux4 ~]# su - test [test@crushlinux4 ~]$ whoami test [test@crushlinux4 ~]$ useradd user1 -bash: useradd: command not found 3、开始提权 [test@crushlinux4 ~]$ mkdir /tmp/exploit [test

面试官问我Linux下常见网络命令

别说谁变了你拦得住时间么 提交于 2020-08-12 14:29:40
✨一起 学习、成长、温情的热爱生活✨ 前言 今天继续来讲面试,已经出了将近十个美团java一面真题系列文章了,今天来讲一讲Linux命令相关内容,在全球超级计算机TOP500强操作系统排行榜中,Linux的占比最近十几年长期保持在85%以上,且一直呈现快速上升趋势。根据2016年的排行榜, Linux的占比已经高达98.80%。其实在各种大、中小型企业的服务器应用领域,Linux系统的市场份额也越来越接近这个比例,这足以说明Linux的表现是多么出色。 所以面试的时候却经常会被问到,我们根据面经来进行补短板,查漏补缺。下面开始今天的干货内容吧,走起, 记得点赞,点击在看哦。 1.ping命令 ping命令用来测试主机之间网络的连通性。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。 用法 (1)命令格式 ping ( 选项)目的地址 目的地址指的是被测计算机的IP 地址、主机名或者是域名。ping 命令包含12 个参数,所有参数都可以通过执行ping来查看 (2)实例 ping www .baidu .com 注: Linux下的ping命令和Windows下的ping命令不同 ,需要Ctrl+C来终止 (3)选项 -d:使用Socket的SO_DEBUG功能; -c<完成次数>

SQL练习题50道

流过昼夜 提交于 2020-07-28 10:56:36
--1. 学生表 stu(s_id,s_name,s_age,s_sex) --s_id 学生编号,s_name 学生姓名,s_birth 出生年月,s_sex 学生性别 --2. 课程表 co(c_id,c_name,t_id) – c) --c_id 课程编号,c_name 课程名称,t_id 教师编号 --3. 教师表 te (t_id,t_name) – t_id 教师编号,t_name 教师姓名 --4. 成绩表 SC(s_id,c_id,score) – s_id 学生编号,c_id 课程编号,score 分数 */ -- 创建测试数据 create table stu(s_id varchar(10) primary key,s_name varchar(10),s_birth date,s_sex varchar(10)); insert into stu values ('01' , ' 赵雷' , '1990-01-01' , '男'), ('02' , '钱电' , '1990-12-21' , '男'), ('03' , '孙风' , '1990-05-20' , '男'), ('04' , '李云' , '1990-08-06' , '男'), ('05' , '周梅' , '1991-12-01' , '女'), ('06' , '吴兰' , '1992

ASP.NET Web API 使用Swagger使用笔记

删除回忆录丶 提交于 2020-07-25 16:37:22
最近换了工作,其中Webapi这块没有文档,之前有了解过Swagger借此机会好好整理下常用的地方分享给有需要的小伙伴。 概述: 1.swagger 引用 2.swagger 问题1.action 方法名称相同处理 3.swagger 问题2.序列化出来的JSON NULL 值处理 4. 汉化及controller说明 5. 统一返回HttpResponseMessage 返回类型 指定 6. 自定义 HTTP Header (oauth2.0 请求) 7.请求示例remarks 1.swagger 引用 第一步: 第二步: 修改SwaggerConfig.cs 如 api 版本号,title 第三步: 创建项目XML注释文档 右键项目→属性→生成→选中下方的 "XML文档文件" 然后保存 配置启用: c.IncludeXmlComments(string.Format("{0}/bin/BjxWebApis.XML",System.AppDomain.CurrentDomain.BaseDirectory)); 第四步:启动项目 地址:http://localhost:58303/swagger 哈哈 成功了,不对这个是最终效果,下面一步一步来实现吧。 2.swagger 问题1.action 方法名称相同处理 根据错误提示 很快发现 某位大神 同样的接口名 传递了不同参数

ASP.NET WebApi使用Swagger做接口文档

早过忘川 提交于 2020-05-02 09:23:48
一,什么是Swagger 相信在做接口的,都会被接口文档烦的不行,接口文档没及时更新,前后端不一致等问题,而Swagger就是用来解决这一问题的!Swagger会根据api方法的注释生成相应的文档,让开发人员不必须再去写接口文档!效果图如下 二,如何在ASP.NET WebApi中使用Swagger 首先,创建一个WebApi 程序SwaggerDemo,这里我不再说如何创建WebApi了,相信大部分的朋友都会,不会的,稍加研究一下就会了。 然后,从nuget 管理器上面下载Swagger,搜索Swagger,选择Swashbuckle安装。 安装完成后,我们新创建一个控制器,因为本人懒,就这样直接命名为Default了, 添加相应的接口方法和注释,我们的基本工作就算完成了。 // / <summary> // / hello // / </summary> // / <returns></returns> [HttpGet] public string Hello() { return "hello ,to go!" ; } // / <summary> // / 返回输入值 // / </summary> // / <param name="str">str</param> // / <returns></returns> public string GetMess

Linux下使用指定网卡进行ping操作

廉价感情. 提交于 2020-04-27 19:30:19
目录 1. 为什么要使用知道那个网卡ping操作 2. 使用指定网卡ping操作 3. 总结 1、 为什么要使用指定网卡ping操作 现在很多服务器都拥有双网卡甚至多网卡,有些是为了保持高可用,有些是网络隔离(内网与外网或者不同网络) 很多学者在模拟企业级环境时也为一台虚拟机配置了双网卡,一块NAT模式,一块LAN区段模式,如果使用简单的ping ip形式的命令得到ping通的结果,只能证明两个虚拟机可以ping通,那究竟是使用了哪块网卡去ping另一个虚拟机? 2、实现使用指定网卡进行ping操作 (1) 查ping的帮助 遇到问题首先就想到查看命令帮助,获取到的帮助如下: 1 # ping -- help 2 ping : invalid option -- ' - ' 3 Usage: ping [-aAbBdDfhLnOqrRUvV64] [-c count] [-i interval] [- I interface] 4 [-m mark] [-M pmtudisc_option] [-l preload] [-p pattern] [- Q tos] 5 [-s packetsize] [-S sndbuf] [-t ttl] [- T timestamp_option] 6 [- w deadline] [- W timeout] [hop1 ...]

从 TPCH 测试学习性能优化技巧之 Q13

喜夏-厌秋 提交于 2020-04-24 16:01:14
一、 查询要求 Q13语句查询获得消费者的订单数量,包括过去和现在都没有订单记录的消费者。 Q13语句的特点是:带有分组、排序、聚集、子查询、左外连接操作并存的查询操作。 二、 Oracle执行 Oracle编写的查询SQL语句如下: select /*+ parallel(n) */ c_count, count(*) as custdist from ( select c_custkey, count(o_orderkey) c_count from customer left outer join orders on c_custkey = o_custkey and o_comment not like '%special%accounts%' group by c_custkey ) c_orders group by c_count order by custdist desc, c_count desc; 其中/*+ parallel(n) */ 是Oracle的并行查询语法,n是并行数。 脚本执行时间,单位:秒 三、 SPL优化 这个查询简单看是对orders做两轮常规分组,第一轮按custkey分组计算出每个顾客的下单数,第二轮再按下单数分组计算出每种下单数各有多少顾客。 注意到原SQL中有个左连接,会将没有下单过的顾客(下单数为0)也统计在内

以Lockbits的方式访问bitmap

别来无恙 提交于 2020-04-17 13:54:12
【推荐阅读】微服务还能火多久?>>> 用Bitmap.GetPixel和Bitmap.SetPixel访问像素点实在是太慢了,必须要用LockBits的方式访问内存才能改善,这里贴一个快速访问Bitmap每个像素点的包装类,是国外一个老外写的,感觉很好用。 public class LockBitmap { Bitmap source = null; IntPtr Iptr = IntPtr.Zero; BitmapData bitmapData = null; public byte[] Pixels { get; set; } public int Depth { get; private set; } public int Width { get; private set; } public int Height { get; private set; } public LockBitmap(Bitmap source) { this.source = source; } /// <summary> /// Lock bitmap data /// </summary> public void LockBits() { try { // Get width and height of bitmap Width = source.Width; Height = source