sábado, 30 de noviembre de 2024

Aumentar el rendimiento de windows 11

En Windows 11, el comando powercfg es útil para ajustar y personalizar los planes de energía del sistema. Para configurar tu equipo para un rendimiento máximo, puedes seguir estos pasos:


1. Abrir el símbolo del sistema como administrador:

  • Presiona Win + S, escribe "cmd", haz clic derecho en "Símbolo del sistema", y selecciona "Ejecutar como administrador".

2. Crear o habilitar el plan de alto rendimiento:

  • Para listar los planes de energía disponibles, escribe:

    cmd
    powercfg /L

    Esto mostrará una lista de los planes disponibles, incluidos "Equilibrado" y "Alto rendimiento".

  • Si "Alto rendimiento" está deshabilitado, habilítalo escribiendo:

    cmd
    powercfg /S SCHEME_MIN

3. Habilitar el modo "Máximo rendimiento" (si está disponible):

  • Windows 11 incluye un plan adicional llamado "Máximo rendimiento", generalmente oculto y diseñado para estaciones de trabajo de alto rendimiento. Para habilitarlo:

    cmd
    powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61
  • Luego, activa este plan:

    cmd
    powercfg /S e9a42b02-d5df-448d-aa00-03f14749eb61


miércoles, 23 de octubre de 2024

Crear acceso directo a aplicaciones WINE

 Para crear un acceso directo para una aplicación de Wine en Ubuntu, puedes seguir estos pasos:

  1. Ubica el ejecutable de la aplicación: Asegúrate de saber la ruta del archivo .exe de la aplicación que deseas ejecutar con Wine.

  2. Crea un archivo .desktop:

    • Abre una terminal.
    • Navega a la carpeta de aplicaciones del usuario:
      bash
      cd ~/.local/share/applications/
    • Crea un nuevo archivo .desktop con el nombre de tu aplicación. Por ejemplo:
      bash
      nano mi_aplicacion.desktop
  3. Edita el archivo .desktop: Agrega la siguiente configuración al archivo:

    ini
    [Desktop Entry] Name=Mi Aplicación Exec=wine /ruta/al/ejecutable/mi_aplicacion.exe Type=Application Terminal=false Icon=/ruta/al/icono/icono.png Categories=Wine;

    Asegúrate de reemplazar:

    • Mi Aplicación con el nombre que desees.
    • /ruta/al/ejecutable/mi_aplicacion.exe con la ruta real del ejecutable.
    • /ruta/al/icono/icono.png con la ruta de un icono si tienes uno (puedes omitir esta línea si no tienes icono).
  4. Guarda y cierra el editor: Si estás usando nano, presiona Ctrl + O para guardar y Ctrl + X para salir.

  5. Haz el archivo ejecutable: En la terminal, ejecuta:

    bash
    chmod +x mi_aplicacion.desktop
  6. Verifica el acceso directo: Deberías ver tu acceso directo en el menú de aplicaciones. Si no lo ves, puedes buscarlo usando el nombre que le diste.

Ahora deberías poder abrir tu aplicación de Wine fácilmente desde el menú de aplicaciones de Ubuntu. ¡Buena suerte!

martes, 24 de septiembre de 2024

Consulta SQL tabla relacionada con SubConsulta

Ante la necesidad de realizar consultas sobre una tabla maestra y otra relacionada con diferentes cardinalidad de resultados, detecté que es posible realizar una subconsulta con diferentes criterios de registro devueltos. 

Utilizando la palabra reservada OUTER APPLY  es posible indicar una subconsulta relacionada pero indicar TOP, Order by, etc


SELECT TOP (1000) [Expediente].*, mov.ID_Oficina

  FROM [Expediente]

 OUTER APPLY 

 (select top 1 * from Movimientos where [Expediente].[IdExpedienteAuto] = Movimientos.IdExpedienteAuto ) 

as mov



martes, 24 de octubre de 2023

Eliminar la memoria virtual en Windows 11

La memoria virtual es una técnica que permite al sistema operativo administrar eficientemente la memoria física y brindar la ilusión de que hay más memoria disponible de la que realmente existe. 
Cuando la CPU utiliza memoria virtual, realiza varias tareas adicionales en comparación con el acceso a la memoria física directamente, algunas de las tareas adicionales que realiza la CPU al utilizar memoria virtual:

1. Traducción de direcciones: La CPU necesita traducir direcciones de memoria virtual a direcciones de memoria física. Esto implica el uso de tablas de páginas o tablas de segmentos para mapear las direcciones virtuales a las direcciones físicas correspondientes. Este proceso agrega una sobrecarga al acceso a la memoria en comparación con la memoria física directa, donde no se requiere traducción.

2. Manejo de páginas de memoria: La memoria virtual implica dividir la memoria en páginas o segmentos. La CPU debe administrar estas páginas, incluida la asignación y desasignación de páginas, así como la administración de tablas de páginas. Esto agrega una carga de trabajo adicional a la CPU.

3. Manejo de fallos de página: Cuando un programa intenta acceder a una página de memoria que no está en la memoria física en ese momento (un fallo de página), la CPU debe manejar este evento. Esto implica cargar la página desde el almacenamiento secundario (generalmente un disco duro) a la memoria física. Este proceso es lento en comparación con el acceso a la memoria física directa y consume tiempo de la CPU.

4. Paginación y swapping: Para administrar eficazmente la memoria física, el sistema operativo puede realizar operaciones de paginación y swapping, que implican mover páginas entre la memoria principal y el almacenamiento secundario. Estas operaciones son necesarias para garantizar que las páginas más relevantes estén en la memoria física, pero también introducen sobrecarga adicional en la CPU.

5. Actualización de tablas de páginas: Cuando se realizan cambios en las páginas de memoria (escritura de datos), las tablas de páginas deben actualizarse para reflejar estos cambios. Esto implica operaciones de escritura adicionales y procesamiento en la CPU.

6. Verificación de permisos: La memoria virtual permite imponer permisos en las páginas de memoria, como solo lectura o lectura/escritura. La CPU debe verificar estos permisos cada vez que se accede a una página, lo que agrega una sobrecarga en términos de procesamiento.

Por todo ello el uso de memoria virtual introduce una serie de tareas adicionales que la CPU debe realizar para administrar eficientemente la memoria y proporcionar la ilusión de una memoria más grande. Aunque estas tareas agregan cierta sobrecarga al procesamiento, la flexibilidad y la administración eficiente de la memoria que proporciona la memoria virtual son fundamentales para el funcionamiento de sistemas operativos modernos.


¿Lo que queda por decidir es si se podría utilizar la computadora sin memoria virtual?

Según defirentes entornos de trabajo probados que fueron Windows 11 en diferentes equipos, se llegó a la conclusión que teniendo 16 GB o más de memoria principal, llamada generalmente RAM, el sistema se comporta correctamente ya que la carga de trabajo para el sistema operativo, ejecutando un servidor de base de datos SQL Server Express, nevegador web chrome con varias pestañas y una accediendo a youtube con video a 4K y algunas aplicaciones básicas de ofimática llegó a los 8 GB de memoria.


Por este motivo de manera práctica se demostró que bajo este escenario es posible la utilización de una PC con Windows 11 sin memoria virtual con el beneficio de que la misma funciona correctamente.
Además como dato adicional, en caso de poseer una unidad de almacenamiento SSD reducimos drásticamente la cantidad de escrituras a la unidad prolongando la vida útil de la misma.

lunes, 30 de noviembre de 2020

SQL Server configuration manager no aparece

El SQL Server configuration manager, debería estar como una entrada dentro del grupo de programas Microsoft Sql Server xxxx, pero si no está...

Puedes ejecutarlo directamente desde el cuadro de diálogo ejecutar (que a su vez puedes invocar con la combinación de teclas Windows + r.

En dicho diálogo, en el brir escribe:

SQLServerManager14.msc para SQL Server 2017

SQLServerManager13.msc para SQL Server 2016

SQLServerManager12.msc para SQL Server 2014

SQLServerManager11.msc para SQL Server 2012

SQLServerManager10.msc para SQL Server 2008

Luego presiona Enter.


Otra opción es accesible como complemento de la consola de administración (microsoft management console: mmc.exe).

Windows + r.

Luego escribes mmc y ejecutar.

Luego menú archivo, agregar o quitar complementos y buscas: SQL Server configuration manager

y listo.


viernes, 22 de mayo de 2020

IOPS de discos

Programa para testear los IOPS de discos.

https://gallery.technet.microsoft.com/DiskSpd-A-Robust-Storage-6ef84e62

Ejemplo:
diskspd.exe –c50G -d300 -r -w40 -t8 -o32 -b64K -Sh -L E:\diskpsdtmp.dat > DiskSpeedResults.txt


  • -c50G – file size 50 GB (it is better to use a large file size so that it does not fit in the cache of the storage controller);
  • -d300 – test duration in seconds;
  • -r – random read/write operations (if you need to test sequential access, use –s);
  • -t8 – number of threads;
  • -w40 – ratio of write to read operations 40%/60%;
  • -o32 — queue length;
  • -b64K — block size;
  • -Sh — do not use cache;
  • -L — measure latency;
  • E:\diskpsdtmp.dat – test file path.


miércoles, 14 de agosto de 2019

Campo calculado o columna calculada

Un campo calculado es un campo que no se almacena físicamente en la tabla. SQL Server emplea una fórmula que detalla el usuario al definir dicho campo para calcular el valor según otros campos de la misma tabla.
Un campo calculado no puede:
- definirse como "not null".
- ser una subconsulta.
- tener restricción "default" o "foreign key".
- insertarse ni actualizarse.

Puede ser empleado como llave de un índice o parte de restricciones "primary key" o "unique" si la expresión que la define no cambia en cada consulta.

 create table empleados(
  documento char(8),
  nombre varchar(10),
  domicilio varchar(30),
  sueldobasico decimal(6,2),
  cantidadhijos tinyint default 0,
  sueldototal as sueldobasico + (cantidadhijos*100)
 );

También puede ser una columna que llame a una función, pero esta debe ser determinista.
Muchas funciones dan que es no determinista, para ello se puede utilizar una palabra reservada en la definición de la función, WITH SCHEMABINDING.


Create FUNCTION [dbo].[fn_xxxxx]

(
    @String VARCHAR(32),
    @MatchExpression VARCHAR(32)

)

RETURNS VARCHAR(32)
WITH SCHEMABINDING
AS
...


Luego en la definición de la tabla

alter table tablaxxx add [campoCalculado] as dbo.fn_xxxxx( 'dato' , '^0-9');


También a esa columna se le puede crear un índice y hacer que las consultas sean óptimas. En ese caso hay que agregar la palabra reservada PERSISTED en la columna.

alter table tablaxxx add [campoCalculado] as dbo.fn_xxxxx( 'dato' , '^0-9') PERSISTED;

Luego de ello se puede crear el índice:

create index idx_campoCalculado on tablaxxx (campoCalculado);