txt: ## kernel.md
  class Kernel
  
  Kernel related information
  
  ```raku
  class Kernel does Systemic { }
  ```
  
  Built-in class for providing kernel related information. Usually accessed through the [`$*KERNEL`](/language/variables#Dynamic_variables) dynamic variable.
  
  # [Methods](#class_Kernel "go to top of document")[§](#Methods "direct link")
  
  ## [method arch](#class_Kernel "go to top of document")[§](#method_arch "direct link")
  
  ```raku
  method arch
  ```
  
  Instance method returning the "arch" (as in "architecture") information of the Kernel object. Dies if the "arch" could not be established.
  
  ## [method archname](#class_Kernel "go to top of document")[§](#method_archname "direct link")
  
  ```raku
  method archname
  ```
  
  Instance method returning the concatenation of [hardware](/routine/hardware) and [name](/routine/name).
  
  ## [method bits](#class_Kernel "go to top of document")[§](#method_bits "direct link")
  
  ```raku
  method bits
  ```
  
  Instance method returning the number of bits used in the architecture of the processor. Usually **32** or **64**.
  
  ## [method cpu-cores](#class_Kernel "go to top of document")[§](#method_cpu-cores "direct link")
  
  ```raku
  method cpu-cores(--> Int)
  ```
  
  Instance / Class method returning the number of CPU cores that are available.
  
  ```raku
  say $*KERNEL.cpu-cores; # OUTPUT: «8␤»
  ```
  
  ## [method cpu-usage](#class_Kernel "go to top of document")[§](#method_cpu-usage "direct link")
  
  ```raku
  method cpu-usage(--> Int)
  ```
  
  Instance / Class method returning the amount of CPU uses since the start of the program (in microseconds).
  
  ## [method free-memory](#class_Kernel "go to top of document")[§](#method_free-memory "direct link")
  
  ```raku
  method free-memory(--> Int)
  ```
  
  Instance / Class method returning the available memory on the system. When using the JVM, this returns the available memory to the JVM instead. This method is only available in release v2019.06 and later.
  
  ## [method total-memory](#class_Kernel "go to top of document")[§](#method_total-memory "direct link")
  
  ```raku
  method total-memory(--> Int)
  ```
  
  Instance / Class method returning the total memory available to the system. When using the JVM, this returns the total memory available to the JVM instead. This method is only available in release v2019.06 and later.
  
  ## [method endian](#class_Kernel "go to top of document")[§](#method_endian "direct link")
  
  ```raku
  method endian(--> Endian:D)
  ```
  
  Class method that returns the [`Endian`](/type/Endian) object associated with the kernel architecture (either `LittleEndian` or `BigEndian`).
  
  ## [method hardware](#class_Kernel "go to top of document")[§](#method_hardware "direct link")
  
  ```raku
  method hardware
  ```
  
  Instance method returning the hardware information of the Kernel object. Dies if the hardware information could not be established.
  
  ```raku
  say $*KERNEL.hardware; # OUTPUT: «x86_64␤»
  ```
  
  ## [method hostname](#class_Kernel "go to top of document")[§](#method_hostname "direct link")
  
  ```raku
  method hostname
  ```
  
  Instance method returning the hostname of the Kernel object.
  
  ## [method release](#class_Kernel "go to top of document")[§](#method_release "direct link")
  
  ```raku
  method release
  ```
  
  Instance method returning the release information of the Kernel object. Dies if the release information could not be established.
  
  ## [method signal](#class_Kernel "go to top of document")[§](#method_signal "direct link")
  
  ```raku
  multi method signal(Kernel:D: Str:D $signal --> Int:D)
  multi method signal(Kernel:D: Signal:D \signal --> Int:D)
  multi method signal(Kernel:D: Int:D \signal --> Int:D)
  ```
  
  Instance method returning the `Signal` numeric code for a given name for the Kernel object.
  
  ```raku
  say $*KERNEL.signal("INT"); # OUTPUT: «2␤»
  ```
  
  ## [method signals](#class_Kernel "go to top of document")[§](#method_signals "direct link")
  
  Instance method returning a list of `Signal`s that are supported by the kernel represented by the Kernel object.
  
  # [Typegraph](# "go to top of document")[§](#typegraphrelations "direct link")
  
  Type relations for `Kernel`
  
  
  
  raku-type-graph
  
  
  
  Kernel
  Kernel
  
  
  Any
  Any
  
  
  Kernel->Any
  
  
  
  Mu
  Mu
  
  
  Any->Mu
  
  [Expand chart above](/assets/typegraphs/Kernel.svg)
  