GVKun编程网logo

Linux下CPU获取指定时间的用户态、系统态以及空闲态的时间(linux获取cpu使用情况)

14

对于Linux下CPU获取指定时间的用户态、系统态以及空闲态的时间感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍linux获取cpu使用情况,并为您提供关于Calendar.getInstan

对于Linux下CPU获取指定时间的用户态、系统态以及空闲态的时间感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍linux获取cpu使用情况,并为您提供关于Calendar.getInstance()获取指定时间点(定时)、java8 获取指定时间的 unix 时间戳、java获取指定开始时间与结束时间之间的所有日期、java获取指定时间的有用信息。

本文目录一览:

Linux下CPU获取指定时间的用户态、系统态以及空闲态的时间(linux获取cpu使用情况)

Linux下CPU获取指定时间的用户态、系统态以及空闲态的时间(linux获取cpu使用情况)

实验原理:通过/proc/stat 获取CPU时间,在Linux的内核中,有一个全局变量:Jiffies。 Jiffies代表时间。它的单位随硬件平台的不同而不同。系统里定义了一个常数HZ,代表每秒种最小时间间隔的数目。这样jiffies的单位就是 1/HZ。每个CPU时间片,Jiffies都要加1。通过sleep延迟,两次获取cpu时间,通过各个时间做差值,从而得出CPU处在各个状态的时间。

#!/bin/sh

CPULOG_1=$(cat /proc/stat | grep ''cpu '' | awk ''{print $2" "$3" "$4" "$5" "$6" "$7" "$8}'')
USR1=$(echo $CPULOG_1 | awk ''{print $2}'')
NICE1=$(echo $CPULOG_1 | awk ''{print $3}'')
SYS_IDLE_1=$(echo $CPULOG_1 | awk ''{print $4}'')
IDLE1=$(echo $CPULOG_1 | awk ''{print $5}'')
IOWAIT1=$(echo $CPULOG_1 | awk ''{print $6}'')
IRQ1=$(echo $CPULOG_1 | awk ''{print $7}'')
SOFTIRQ1=$(echo $CPULOG_1 | awk ''{print $8}'')
Total_1=$(echo $CPULOG_1 | awk ''{print $2+$3+$4+$5+$6+$7+$8}'')
Free1=$(echo $CPULOG_1 | awk ''{print $3+$5+$6+$7+$8}'')
sleep 20
 
CPULOG_2=$(cat /proc/stat | grep ''cpu '' | awk ''{print $2" "$3" "$4" "$5" "$6" "$7" "$8}'')
USR2=$(echo $CPULOG_2 | awk ''{print $2}'')
NICE2=$(echo $CPULOG_2 | awk ''{print $3}'')
SYS_IDLE_2=$(echo $CPULOG_2 | awk ''{print $4}'')
IDLE2=$(echo $CPULOG_2 | awk ''{print $5}'')
IOWAIT2=$(echo $CPULOG_2 | awk ''{print $6}'')
IRQ2=$(echo $CPULOG_2 | awk ''{print $7}'')
SOFTIRQ2=$(echo $CPULOG_2 | awk ''{print $8}'')
Total_2=$(echo $CPULOG_2 | awk ''{print $2+$3+$4+$5+$6+$7+$8}'')
Free2=$(echo $CPULOG_2 | awk ''{print $3+$5+$6+$7+$8}'')
 
USR=`expr $USR2-$USR1|bc`
NICE=`expr $NICE2-$NICE1|bc`
SYS_IDLE=`expr $SYS_IDLE_2 - $SYS_IDLE_1|bc`
IDLE=`expr $IDLE2-$IDLE1|bc`
IOWAIT=`expr $IOWAIT2-$IOWAIT1|bc`
IRQ=`expr $IRQ2-$IRQ1|bc`
SIRQ=`expr $SOFTIRQ2-$SOFTIRQ1|bc`
Total=`expr $Total_2 - $Total_1|bc`
Free=`expr $Free2-$Free1|bc`
echo $USR user
echo $NICE nice_
echo $SYS_IDLE sys
echo $IDLE idle
echo $IOWAIT iowait
echo $IRQ irq
echo $SIRQ sirq 
echo $Total all
echo $Free free_



Calendar.getInstance()获取指定时间点(定时)

Calendar.getInstance()获取指定时间点(定时)

public class Test1 {
    public static void main(String[]args){
        System.out.println("时间为:\n"+getDate1()+"\n"+getDate2()+"\n"+getDate3()+"\n"+getDate4()+"\n"+getDate5());
    }
    
/*    Calendar.HOUR_OF_DAY     24小时制
    Calendar.HOUR     12小时制*/
    
    //获取当天0点时间
    public static String getDate1(){
         Calendar cal = Calendar.getInstance();
         cal.set(Calendar.HOUR_OF_DAY, 0);//控制时
         cal.set(Calendar.MINUTE, 0);//控制分
         cal.set(Calendar.SECOND, 0);//控制秒
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         return sdf.format(cal.getTime());
    }
    
    //获取当天12点时间
    public static String getDate2(){
         Calendar cal = Calendar.getInstance();
         cal.set(Calendar.HOUR_OF_DAY, 12);
         cal.set(Calendar.MINUTE, 0);
         cal.set(Calendar.SECOND, 0);
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         return sdf.format(cal.getTime());
    }    
    
    //获取本周一0点时间
    public static String getDate3(){
         Calendar cal = Calendar.getInstance();
         cal.set(cal.get(Calendar.YEAR),cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 0,0);
         cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         return sdf.format(cal.getTime());
    }    
    
    //获取本月第一天0点时间
    public static String getDate4(){
         Calendar cal = Calendar.getInstance();
         cal.set(cal.get(Calendar.YEAR),cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 0,0);
         cal.set(Calendar.DAY_OF_MONTH,cal.getActualMinimum(Calendar.DAY_OF_MONTH));
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         return sdf.format(cal.getTime());
    }
    
         //获得本月最后一天24点时间
    public static String getDate5(){
         Calendar cal = Calendar.getInstance();
         cal.set(cal.get(Calendar.YEAR),cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 0,0);
         cal.set(Calendar.DAY_OF_MONTH,cal.getActualMaximum(Calendar.DAY_OF_MONTH));
         cal.set(Calendar.HOUR_OF_DAY, 24);
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         return sdf.format(cal.getTime());
    }        
 
}

 

java8 获取指定时间的 unix 时间戳

java8 获取指定时间的 unix 时间戳

//获取每天11点的时间戳,其他需求自己扩展
Function<Integer, Long> toEpochMilli = hour ->
        LocalDateTime.of(
                LocalDate.now().getYear(), LocalDate.now().getMonth(), LocalDate.now().getDayOfMonth(),
                11, 0, 0, 0
        )
                .toInstant(ZoneOffset.ofHours(hour))
                .toEpochMilli();
//获取当前时间时间戳
System.currentTimeMillis();
Clock.systemUTC().millis();
Instant.now().toEpochMilli();
LocalDateTime.now().toInstant(ZoneOffset.ofHours(8)).toEpochMilli();

 

java获取指定开始时间与结束时间之间的所有日期

java获取指定开始时间与结束时间之间的所有日期

这篇文章主要为大家详细介绍了java获取指定开始时间与结束时间之间的所有日期,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java获取指定开始时间与结束时间之间的所有日期的具体代码,供大家参考,具体内容如下

import java.text.SimpleDateFormat; import java.util.Calendar; public class TimerTest { public static void main(String[] args) throws Exception { String beginDate = "2016-07-16";//开始时间 String endDate = "2016-07-25";//结束时间 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar cal = Calendar.getInstance(); cal.setTime(sdf.parse(beginDate)); for (long d = cal.getTimeInMillis(); d

运行结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小编。

java获取指定时间

java获取指定时间

1、上代码

  1 package com.hynn.gajq.service.user;
  2 
  3 import java.sql.Timestamp;
  4 import java.text.ParseException;
  5 import java.text.SimpleDateFormat;
  6 import java.util.Calendar;
  7 import java.util.Date;
  8 import java.util.TimeZone;
  9 
 10 import org.apache.commons.lang3.time.DateUtils;
 11 
 12 public class test {
 13 
 14     public static void main(String[] args) {
 15         // TODO Auto-generated method stub
 16         Long time = System.currentTimeMillis(); // 当前时间的时间戳
 17         long zero = time / (1000 * 3600 * 24) * (1000 * 3600 * 24) - TimeZone.getDefault().getRawOffset();// 今天零点零分零秒的毫秒数
 18         long twelve = zero + 24 * 60 * 60 * 1000 - 1;// 今天23点59分59秒的毫秒数
 19         System.out.println("今天零点零分零秒:" + new Timestamp(zero));// 今天零点零分零秒
 20         System.out.println("今天23点59分59秒:" + new Timestamp(twelve));// 今天23点59分59秒
 21         System.out.println("======================================");
 22     }
 23 
 24     /**
 25      * 获取上周一00:00:00
 26      * 
 27      * @return
 28      * @throws ParseException
 29      */
 30     public static long getMonday() throws ParseException {
 31         Date date = new Date();
 32         Date a = DateUtils.addDays(date, -1);
 33         Calendar cal = Calendar.getInstance();
 34         cal.setTime(a);
 35         cal.add(Calendar.WEEK_OF_YEAR, -1);// 一周
 36         cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
 37         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 38         SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 39         String dateStr = sdf.format(cal.getTime());//
 40         Date parse = sdf2.parse(dateStr + " 00:00:00");
 41         System.out.println(parse.getTime());// 上周一零点毫秒数
 42         return parse.getTime();
 43     }
 44 
 45     /**
 46      * 本月或上月第一天00:00:00 flag=1--本月 flag=2--上月 getFirstDay()
 47      * 
 48      * @param flag
 49      * @return
 50      */
 51     public static String getFirstDay(Integer flag) {
 52         Calendar c = Calendar.getInstance();
 53         if (flag == 1) {
 54             c.add(Calendar.MONTH, 0); // 获取当前月第一天
 55         } else if (flag == 2) {
 56             c.add(Calendar.MONTH, -1); // 获取上月第一天
 57         }
 58         c.set(Calendar.DAY_OF_MONTH, 1); // 设置为1号,当前日期既为本月第一天
 59         c.set(Calendar.HOUR_OF_DAY, 0); // 将小时至0
 60         c.set(Calendar.MINUTE, 0); // 将分钟至0
 61         c.set(Calendar.SECOND, 0); // 将秒至0
 62         c.set(Calendar.MILLISECOND, 0); // 将毫秒至0
 63         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 64         return sdf.format(c.getTime());
 65     }
 66 
 67     /**
 68      * 本月或上月最后一天23:59:59 flag=1--本月 flag=2--上月 getLastDay()
 69      * 
 70      * @param flag
 71      * @return
 72      */
 73     public static String getLastDay(Integer flag) {
 74         Calendar ca = Calendar.getInstance();
 75         if (flag == 1) {
 76             ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH)); // 获取当前月最后一天
 77         } else if (flag == 2) {
 78             ca.set(Calendar.DAY_OF_MONTH, 0); // 获取上月最后一天
 79         }
 80         ca.set(Calendar.HOUR_OF_DAY, 23); // 将小时至23
 81         ca.set(Calendar.MINUTE, 59); // 将分钟至59
 82         ca.set(Calendar.SECOND, 59); // 将秒至59
 83         ca.set(Calendar.MILLISECOND, 59); // 将毫秒至59
 84         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 85         return sdf.format(ca.getTime());
 86     }
 87 
 88     /**
 89      * 时间戳转换日期
 90      * 
 91      * @param stamp
 92      * @return
 93      */
 94     public String stampToTime(String stamp) {
 95         String sd = "";
 96         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 97         sd = sdf.format(new Date(Long.parseLong(stamp))); // 时间戳转换日期
 98         return sd;
 99     }
100 
101     /**
102      * 日期转换为时间戳
103      * 
104      * @param timers
105      * @return
106      */
107     public long timeToStamp(String timers) {
108         Date d = new Date();
109         long timeStemp = 0;
110         try {
111             SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
112             d = sf.parse(timers);// 日期转换为时间戳
113         } catch (ParseException e) {
114             e.printStackTrace();
115         }
116         timeStemp = d.getTime();
117         System.out.println(timeStemp);
118         return timeStemp;
119     }
120 
121 }
View Code

 

关于Linux下CPU获取指定时间的用户态、系统态以及空闲态的时间linux获取cpu使用情况的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Calendar.getInstance()获取指定时间点(定时)、java8 获取指定时间的 unix 时间戳、java获取指定开始时间与结束时间之间的所有日期、java获取指定时间的相关知识,请在本站寻找。

本文标签: