首页 > TAG信息列表 > Prio

内核机制1—workqueue

1. 会创建线程的worqueue wq = alloc_ordered_workqueue("%s", WQ_MEM_RECLAIM | WQ_HIGHPRI, "f_fstb"); //prio=100 cfs 0-7 # ps -AT | grep f_fstb root 645 645 2 0 0 rescuer_thread 0 I f_fstb wq = create_singlethr

keepalived两台机器同时出现vip问题

配置文件: 主:192.168.1.14keepalived.conf ! Configuration File for keepalived global_defs { script_user root enable_script_security } vrrp_script check_nginx { script "/etc/keepalived/nginx_check.sh" interval 10 } vrrp_instance VI_1 {

多线程之死锁

1.背景 面试官问:什么情况下回产生死锁?如何定位? 2.代码 package com.ldp.demo01; import com.common.MyThreadUtil; import lombok.extern.slf4j.Slf4j; /** * @author 姿势帝-博客园 * @address https://www.cnblogs.com/newAndHui/ * @WeChat 851298348 * @create 02/0

JAVA多线程-死锁

1.code demo 点击查看代码 public class DemoThread12 { private Object lock1 = new Object(); private Object lock2 = new Object(); public void execute1() { synchronized (lock1) { System.out.println("线程" + Thread.currentThread().getName() + &quo

【freeRTOS开发笔记】为什么xTaskCreate接口会卡死不返回

文章目录 1 前言2 遇到的问题3 问题分析3.1 初略分析3.2 深究源码3.3 代码验证3.4 进一步分析3.5 如何优化 4 经验总结5 更多分享 1 前言 最近博主在做一些适配freeRTOS的项目,简单来说就是从别的RTOS平台迁移到freeRTOS平台。 由于之前的代码都是可用的,凭经验我们认为只

黑马-并发编程学习

1、查看 进程 杀死进程 ps -fe | grep java 或者使用jps top -H -p pid 查看pid代表的进程的内部线程运行情况 使用jstack 也可以查看进程的线程信息 使用方式是jstack pid 使用jconsole 也可以查看某个进程的线程信息 (图形化界面) 2、线程切换的原因 时间片用完 更高级别的线

Linux 下 TC 命令原理及详解<四>

tc 由 Alexey N. Kuznetsov 编写,从 Linux 2.2 版开始并入 Linux 内核。 Linux 从 kernel 2.1.105 开始支持 QoS,不过,需要重新编译内核。运行 make config 时将 EXPERIMENTAL _OPTIONS 设置成y,并且将 Class Based Queueing (CBQ), Token Bucket Flow, Traffic Shapers 设置为 y

OpenJDK 11 工具概览

在Security Manager演讲中,我演示了如何使用Attach API。使用时需要知道准备附加的JVM PID。因为我的好友Evgeny Mandrikov没能参加上次的会议,所以单独为他做了一次演示。要获取目标JVM的PID,我使用了ps -ef | grep java命令。Evgeny向我介绍了很多jps命令的知识,我发现除了常见JDK命

uboot 环境变量加载过程分析

uboot 环境变量加载过程分析   在uboot的初始化过程中,环境变量的初始化加载过程如下: board_r.c/initr_env() ---> env/common.c/env_relocate() ---> env/env.c/env_load() 在env_load()函数中,会根据启动介质(mmc spi)去选择env存储位置,然后调用相应介质的load函数将环境变量读取

java的CPU使用达到100%咋排查

java的CPU使用达到100%咋排查 面试的时候好像问过两次,没有一次答得比较靠谱,今天就对着网上的博客,自己手动操作一遍,并记录一下。 javaCPU 100%的原因 1: 死循环 2:CPU密集型计算 死循环的java代码 public class TestCPU100 { static class MyThread extends Thread {

jstack处理Java中CPU100%的思路流程

模拟问题代码 构造一个死循环,造成CPU使用率100%。 > vim InfiniteLoop.java public class InfiniteLoop { public static void main(String[] args) { Runnable target; Thread thread=new Thread(new Runnable() { @Override

生产环境如何排除和优化 JVM?

生产环境如何排除和优化 JVM? 如果是在生产环境中直接排查 JVM 的话,最简单的做法就是使用 JDK 自带的 6 个非常实用的命令行工具来排查。它们分别是:jps、jstat、jinfo、jmap、jhat 和 jstack,它们都位于 JDK 的 bin 目录下,可以使用命令行工具直接运行,其目录如下图所示 1、jps(虚拟

FANUC机器人关于 IO地址分配相关的故障报警诊断

故障代码: 1.PRIO-001 非法的端口类型代码 原因:所指定的I/O端口类型非法 对策:所使用IOSETUP.KL中所定义的端口类型 2.PRIO-002 非法的端口号码 原因:非法的端口号码,或者尚未分配端口号码 对策:指定正确的端口号码 3.PRIO-003 SYSTEM剩余内存不足 原因:系统内没有所需量的内存

ucOSII操作系统就绪表的操作

在ucOSII的绪表中使用一个很妙的查找方式,下面对其查找过程进行详细分析(目的就是加快查找速度) 对于ucOSII而言,其最大的任务数是64个,因此为了标记其任务的状态,ucOSII使用了八个变量表示每个任务的状态,每个变量每个位对应任务的状态:                              

优先级位图算法详解

在嵌入式操作系统复习中,我们了解了μC/OS-II的相关基础知识,在任务调度这一节,我们提到了优先级位图算法,本文详细介绍该算法的原理和实现。 说明: 本文参考了这篇文章,加入了一些自己的理解,如有侵权,请联系删除:原文链接 1、μC/OS-II任务优先级相关简介:μC/OS-II中共有64个优先级(0~63

你将如何使用 thread dump?你将如何分析 Thread dump?

新建状态(New) 用 new 语句创建的线程处于新建状态,此时它和其他 Java 对象一样,仅仅在堆区 中被分配了内存。 就绪状态(Runnable) 当一个线程对象创建后,其他线程调用它的 start()方法,该线程就进入就绪状态, Java 虚拟机会为它创建方法调用栈和程序计数器。处于这个状态的线程位于可运

【论文学习9】Prio: Private, Robust, and Scalable Computation of Aggregate Statistics

abstract 本论文提出了一种用于收集统计信息的隐私保护系统Prio。每个客户机有私有数据值,一小部分服务器对所有客户端的值计算统计函数。只要有一台服务器是诚实的,Prio服务器就不会了解到用户的信息,除了他们可以从系统计算推断出聚合数值。采用新的加密技术SNIPs,使之能够收集大量

linux 中的页缓存和文件 IO

本文所述是针对 linux 引入了虚拟内存管理机制以后所涉及的知识点。linux 中页缓存的本质就是对于磁盘中的部分数据在内存中保留一定的副本,使得应用程序能够快速的读取到磁盘中相应的数据,并实现不同进程之间的数据共享。 因此,linux 中页缓存的引入主要是为了解决两类重要的问题:

jstack的使用

概述   有些时候我们需要查看下JVM中的线程执行情况,比如:发现服务器的CPU的负载突然增高了,出现了死锁,死循环等;   由于程序是正常运行的,没有任何的输出,从日志方面也看不出问题,所以就需要看下JVM的内部线程的执行情况,然后在进行分析查找出原因;   这个时候,就需要借助jstack命令

cpu突然飙升故障排查思路

处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。 当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。 本文主要针对系统运行缓慢这一问题,提供该问题的排查思路,从而定位出问题的代码点,进而提供解决该问题的思路。 对于

STM32关于优先级设定的理解 NVIC_SetPriority()

static __INLINE uint32_t SysTick_Config(uint32_t ticks) { // 判断 tick 的值是否大于 2^24,如果大于,则不符合规则 if (ticks > SysTick_LOAD_RELOAD_Msk) return (1); // 初始化reload寄存器的值 SysTick->LOAD = (ticks & SysTick_LOAD_RELOAD_Msk) - 1;

平时碰到系统CPU飙高和频繁GC,你会怎么排查?

处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。本文主要针对系统运行缓慢这一问题,提供该问题的排查思路,从而定位出问题的代码点,进而提供解决该问题的思路。对于线上

优先级队列

/** * @auther: 巨未 * @DATE: 2019/1/6 0006 10:11 * @Description: 数据结构的队列Queue和集合框架库的队列(小根堆:根节点的值小于左右孩子)不一样 * 优先级队列!(最前面的优先级最小, 插入按照优先级的高低插入 */ class PrioQueue{ class

面试官问:平时碰到系统CPU飙高和频繁GC,你会怎么排查?

原文链接:http://mk.com 转载自   面试官问:平时碰到系统CPU飙高和频繁GC,你会怎么排查? 处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。本

线上问题排查

转自:https://my.oschina.net/zhangxufeng/blog/3017521 Full GC次数过多 首先我们可以使用top命令查看系统CPU的占用情况 top - 08:31:10 up 30 min, 0 users, load average: 0.73, 0.58, 0.34KiB Mem: 2046460 total, 1923864 used, 122596 free, 14388 buffersKiB Swa